From: Jakub Narebski <jnareb@gmail•com>
To: Matthias Andree <matthias.andree@gmx•de>
Cc: git@vger•kernel.org, Matthieu Moy <Matthieu.Moy@imag•fr>
Subject: Merging in Subversion 1.5 (was: Re: Using git to track my PhD thesis, couple of questions)
Date: Fri, 28 Aug 2009 08:12:27 -0700 (PDT) [thread overview]
Message-ID: <m3ocq0km5m.fsf_-_@localhost.localdomain> (raw)
In-Reply-To: <4A97E1B1.7090107@gmx.de>
Matthias Andree <matthias.andree@gmx•de> writes:
> Matthieu Moy schrieb:
>> seanh <seanh.nospam@gmail•com> writes:
>>
>>> In response to Matthieu and Paolo, I'm not sure I understand the git
>>> internals involved in the discussion around merge --squash, I had a
>>> feeling this would produce a 'merge' that git in some sense would 'not
>>> know about',
>>
>> Yes, that's it. Git does a merge, and immediately forgets it was a
>> merge. The consequence is when you merge again later, Git will not be
>> able to use the merge information to be clever about merging. Somehow,
>> Git will be as bad as SVN for merging if you don't know what you're
>> doing ;-).
>
> To be fair, SVN versions 1.5 and newer can track merges. If the
> repository predates 1.5, it has to be updated on the server side
> (see the release notes for details). It just tracks which revisions
> have been merged and which not, for further details, see the svn
> book. (http://svnbook.red-bean.com/ IIRC)
>From what I understand (from what I have read, and browsed, and
lurged, and noticed) is that Subversion 1.5+ does merge tracking, but
in very different way that in Git:
* the svn:mergeinfo is client-side property; if I understand
correctly this would help you in repeated merges, but not anyone
other
* svn:mergeinfo contains _per-file_ merge info, so it is much, much
more "chatty" than Git multiple parents. This might be more
powerfull approach, in the same sense that more advanced merge
strategies that 3-way merge were more powerfull -- but 3-way merge
is best because it is simple (and either it is simple that 3-way
merge is enough, or complicated so manual intervention is required).
* You have to explicitely enable using svn:mergeinfo in log and blame
* The command to merge trunk into branch is different from command to
merge branch into trunk.
Also IIRC there is warning (well, at least there was in Subversion 1.5
release notes) that merge tracking doesn't work entirely correctly in
the face of criss-cross merges (multiple merge bases) and renaming
(although I do hope that they fixed problem with silent corruption if
there is rename during merge).
--
Jakub Narebski
Git User's Survey 2009: http://tinyurl.com/GitSurvey2009
next prev parent reply other threads:[~2009-08-28 15:12 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-27 20:34 Using git to track my PhD thesis, couple of questions seanh
2009-08-27 20:41 ` Sverre Rabbelier
2009-08-27 20:55 ` Matthieu Moy
2009-08-28 8:34 ` Paolo Bonzini
2009-08-28 8:46 ` Matthieu Moy
2009-08-27 21:38 ` Junio C Hamano
2009-08-27 22:21 ` demerphq
2009-08-28 13:37 ` seanh
2009-08-28 13:51 ` Matthieu Moy
2009-08-28 13:54 ` Matthias Andree
2009-08-28 15:12 ` Jakub Narebski [this message]
2009-08-28 15:29 ` Merging in Subversion 1.5 (was: Re: Using git to track my PhD thesis, couple of questions) Avery Pennarun
2009-08-28 15:44 ` Matthias Andree
2009-08-28 16:19 ` Merging in Subversion 1.5 Jakub Narebski
2009-08-28 16:28 ` Matthias Andree
2009-08-28 16:34 ` Avery Pennarun
2009-08-30 19:41 ` Merging in Subversion 1.5 (was: Re: Using git to track my PhD thesis, couple of questions) Sam Vilain
2009-08-31 5:47 ` Dmitry Potapov
2009-08-28 21:42 ` Using git to track my PhD thesis, couple of questions david
2009-08-28 15:50 ` Paolo Bonzini
2009-08-28 16:12 ` demerphq
2009-08-28 21:44 ` david
2009-08-28 22:16 ` demerphq
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m3ocq0km5m.fsf_-_@localhost.localdomain \
--to=jnareb@gmail$(echo .)com \
--cc=Matthieu.Moy@imag$(echo .)fr \
--cc=git@vger$(echo .)kernel.org \
--cc=matthias.andree@gmx$(echo .)de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox