[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bzr document unclear. There is no "conflict markers".
From: |
Bojan Nikolic |
Subject: |
Re: Bzr document unclear. There is no "conflict markers". |
Date: |
Mon, 04 Jan 2010 20:07:40 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
Richard Stallman <address@hidden> writes:
> The concept of "accepted into the trunk" puzzles me. If someone has
> write access, he can install his changes into the trunk, right? So if
> he has committed all his past changes, there's nothing to merge --
> right?
>
> Are you assuming the case of a person who doesn't have write access
> on Savannah?
Yes, I assumed this was the case, i.e., the developer of the quick-fix
sends his fix using the "bzr send" command and it isn't immediately
integrated onto the trunk.
To be more concrete, here is a little shell script which illustrates
this scenario and error message you get if you do not use "merge".
# Example for user without write access
# This branch represnts the true upstream trunk
bzr init upstream-trunk
# Add a first revision to trunk
(cd upstream-trunk && bzr commit --unchanged -m "Base rivision")
# This is the users' version of the trunk
bzr branch upstream-trunk trunk
(cd trunk && bzr bind ../upstream-trunk)
# This is the user's quickfixes branch
bzr init quickfixes
# Normal development continues on upstream-trunk...
(cd upstream-trunk && bzr commit --unchanged -m "Other peoples revision #1")
(cd upstream-trunk && bzr commit --unchanged -m "Other peoples revision #2")
# Now user wants to make a quick fix:
(cd trunk && bzr update)
# In this case, bzr pull works, because although there are new
# revisions in trunk, they all follow the last revision in quickfixes
# and so there isn't a divergance
(cd quickfixes && bzr pull ../trunk && bzr commit --unchanged -m "My fix #1")
# At this point the user would send their fix
# ( cd quickfixes && bzr send <email address>)
# Now assume the fix is not integrated on the upstream-trunk, but that
# development continues:
(cd upstream-trunk && bzr commit --unchanged -m "Other peoples revision #3")
# The developer wants to make another quick-fix. First update as before
(cd trunk && bzr update)
# Now, if (s)he tries to pull this will not work:
(cd quickfixes && bzr pull ../trunk && bzr commit --unchanged -m "My fix #2")
# The above does not work, because of divergance. You can visualise as:
(cd quickfixes && bzr graph-ancestry --no-collapse --merge-branch=../trunk
quickfixes.png)
# But Merge will work
(cd quickfixes && bzr merge ../trunk && bzr commit --unchanged -m "My fix #2")
The graph it produces is:
The graph shows the "divergance" of the histories and the requirement
for merge. Hope it makes it clearer.
Best,
Bojan
--
Bojan Nikolic || http://www.bnikolic.co.uk
- Re: Bzr document unclear. There is no "conflict markers"., (continued)
- Re: Bzr document unclear. There is no "conflict markers"., Bojan Nikolic, 2010/01/03
- Re: Bzr document unclear. There is no "conflict markers"., Richard Stallman, 2010/01/03
- Re: Bzr document unclear. There is no "conflict markers"., Bojan Nikolic, 2010/01/03
- Re: Bzr document unclear. There is no "conflict markers"., Richard Stallman, 2010/01/04
- Re: Bzr document unclear. There is no "conflict markers"., Stefan Monnier, 2010/01/04
- Re: Bzr document unclear. There is no "conflict markers".,
Bojan Nikolic <=
- Re: Bzr document unclear. There is no "conflict markers"., Eli Zaretskii, 2010/01/03
- Re: Bzr document unclear. There is no "conflict markers"., Richard Stallman, 2010/01/04
- Re: Bzr document unclear. There is no "conflict markers"., Eli Zaretskii, 2010/01/04