[fossil-users] merge strategy "ours"

17 views
Skip to first unread message

Leo Razoumov

unread,
Mar 20, 2012, 9:14:16 AM3/20/12
to Fossil SCM user's discussion
Hi there,
GIT has a useful merge strategy "git merge -s ours" that always
chooses our current version over the version being merged in. The
resulting merge has exactly the same files contents as its base
parent. The only difference being that the commit merged in is now
added to the list of merge parents.

How to achieve the same effect in fossil??

For those who wonder why do I need such a thing here is a use case. I
tend to commit very often. In order to prevent polluting public
branches I work mostly on private branches periodically merging the
changes (when they are in good shape) into public branches. When
merging private branch into a public one fossil does not record
private branch as a merge parent (and for a good reason!). Often I do
have a suitable merge parent candidate. How do I trick fossil into
just adding a commit into manifest's "P" card to make it a merge
parent??

--Leo--
_______________________________________________
fossil-users mailing list
fossil...@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Benoit Mortgat

unread,
Mar 20, 2012, 9:54:39 AM3/20/12
to SLON...@gmail.com, Fossil SCM user's discussion
The simplest way to let merge conflicts happen, and
restore versions from an older commit if you know the file artifact ids:

fossil artifact a59bd2322 > my/file.txt

--
Benoit Mortgat
20, avenue Marcel Paul
69200 Vénissieux, France
+33 6 17 15 41 58
+33 4 27 11 61 23

Richard Hipp

unread,
Mar 20, 2012, 9:57:35 AM3/20/12
to Fossil SCM user's discussion
On Tue, Mar 20, 2012 at 9:54 AM, Benoit Mortgat <mor...@gmail.com> wrote:
The simplest way to let merge conflicts happen, and
restore versions from an older commit if you know the file artifact ids:

fossil artifact a59bd2322 > my/file.txt

Why not just "fossil revert my/file.txt"?
 



--
D. Richard Hipp
d...@sqlite.org

Benoit Mortgat

unread,
Mar 20, 2012, 10:28:29 AM3/20/12
to Fossil SCM user's discussion
Because I was confusing “ours” and “their”.

On Tue, Mar 20, 2012 at 14:57, Richard Hipp <d...@sqlite.org> wrote:
>
>
> On Tue, Mar 20, 2012 at 9:54 AM, Benoit Mortgat <mor...@gmail.com> wrote:
>>
>> The simplest way to let merge conflicts happen, and
>> restore versions from an older commit if you know the file artifact ids:
>>
>> fossil artifact a59bd2322 > my/file.txt
>
>
> Why not just "fossil revert my/file.txt"?
>


--
Benoit Mortgat

Leo Razoumov

unread,
Mar 20, 2012, 3:04:55 PM3/20/12
to Richard Hipp, Fossil SCM user's discussion
On Tue, Mar 20, 2012 at 09:57, Richard Hipp <d...@sqlite.org> wrote:
>
> Why not just "fossil revert my/file.txt"?
>

For each one of dozens of files in the manifest??

I tried

$ fossil revert

and it reverts the contents of all files but at the same time it also removes
merge record (clears vmerge table).
All I want is to record a new merge parent without merging in file contents.

--Leo--

Themba Fletcher

unread,
Mar 21, 2012, 12:23:40 PM3/21/12
to SLON...@gmail.com, Fossil SCM user's discussion
On Tue, 2012-03-20 at 15:04 -0400, Leo Razoumov wrote:
> On Tue, Mar 20, 2012 at 09:57, Richard Hipp <d...@sqlite.org> wrote:
> >
> > Why not just "fossil revert my/file.txt"?
> >
>
> For each one of dozens of files in the manifest??

Does this do what you want?

fossil merge foo
fossil changes | head -n -1 | awk '{print $2}' | xargs fossil revert

Leo Razoumov

unread,
Mar 21, 2012, 1:48:38 PM3/21/12
to Fossil SCM user's discussion
On Wed, Mar 21, 2012 at 12:23, Themba Fletcher
<themba....@gmail.com> wrote:
> On Tue, 2012-03-20 at 15:04 -0400, Leo Razoumov wrote:
>> On Tue, Mar 20, 2012 at 09:57, Richard Hipp <d...@sqlite.org> wrote:
>> >
>> > Why not just "fossil revert my/file.txt"?
>> >
>> For each one of dozens of files in the manifest??
>
> Does this do what you want?
>
> fossil merge foo
> fossil changes | head -n -1 | awk '{print $2}' | xargs fossil revert
>

Themba,
thanks for a script. I hope that the files deleted by the merge would
not cause any problems.

--Leo--

Reply all
Reply to author
Forward
0 new messages