[fossil-users] Conflicts during update

2015-08-12 Thread Jacek Cała
  Hi All,

I've done fossil update and got a suspicious message about merge conflicts
(see below). The list of changes is long (21k), so I can't easily see all
changes file by file and the last thousand is just ADDED or REMOVED.

Is there a way I can check what merge conflicts fossil means in this case?
A dumb search for word 'CONFLICT' in the source code does not show anything.

  Cheers,
  Jacek

-
updated-to:   69d46bf6291d65675c1de18a6509c19d527aa6fd 2015-08-12 06:32:31
UTC
tags: trunk
comment:  ceg-deployer: work on the API that can support the wizard
(user:
  Jacek)
changes:  21089 files modified.
WARNING: 102 merge conflicts
 "fossil undo" is available to undo changes to the working checkout.
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Conflicts during update

2015-08-12 Thread Stephan Beal
On Wed, Aug 12, 2015 at 9:07 AM, Jacek Cała  wrote:

>   Hi All,
>
> I've done fossil update and got a suspicious message about merge conflicts
> (see below). The list of changes is long (21k), so I can't easily see all
> changes file by file and the last thousand is just ADDED or REMOVED.
>
> Is there a way I can check what merge conflicts fossil means in this case?
> A dumb search for word 'CONFLICT' in the source code does not show anything.
>

Search for '<' and '>'

As someone recently pointed out, if you have changed the line endings (from
Windows to Unix or vice versa) between 2 versions, the whole file will be
seen as changed, and could lead to confusing conflicts.

-- 
- stephan beal
http://wanderinghorse.net/home/stephan/
http://gplus.to/sgbeal
"Freedom is sloppy. But since tyranny's the only guaranteed byproduct of
those who insist on a perfect world, freedom will have to do." -- Bigby Wolf
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Conflicts during update

2015-08-12 Thread Jacek Cała
Thanks for the suggestion... no luck in finding '<'. It matches only
_FOSSIL_ and a few binary files. It could be the line endings because I
work primarily on Windows and whenever fossil complains about CR/LF I just
ignore it (saying 'a' during the commit).

However, I guess, there is no way to list files that were reported as
conflicting during merge, is there?

  Cheers,
  Jacek

2015-08-12 8:21 GMT+01:00 Stephan Beal :

> On Wed, Aug 12, 2015 at 9:07 AM, Jacek Cała  wrote:
>
>>   Hi All,
>>
>> I've done fossil update and got a suspicious message about merge
>> conflicts (see below). The list of changes is long (21k), so I can't easily
>> see all changes file by file and the last thousand is just ADDED or REMOVED.
>>
>> Is there a way I can check what merge conflicts fossil means in this
>> case? A dumb search for word 'CONFLICT' in the source code does not show
>> anything.
>>
>
> Search for '<' and '>'
>
> As someone recently pointed out, if you have changed the line endings
> (from Windows to Unix or vice versa) between 2 versions, the whole file
> will be seen as changed, and could lead to confusing conflicts.
>
> --
> - stephan beal
> http://wanderinghorse.net/home/stephan/
> http://gplus.to/sgbeal
> "Freedom is sloppy. But since tyranny's the only guaranteed byproduct of
> those who insist on a perfect world, freedom will have to do." -- Bigby Wolf
>
> ___
> fossil-users mailing list
> fossil-users@lists.fossil-scm.org
> http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
>
>
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Conflicts during update

2015-08-12 Thread Stephan Beal
On Wed, Aug 12, 2015 at 10:13 AM, Jacek Cała  wrote:

> Thanks for the suggestion... no luck in finding '<'. It matches only
> _FOSSIL_ and a few binary files. It could be the line endings because I
> work primarily on Windows and whenever fossil complains about CR/LF I just
> ignore it (saying 'a' during the commit).
>
> However, I guess, there is no way to list files that were reported as
> conflicting during merge, is there?
>

Not that i am aware of. i know svn requires one to manually tell it "the
conflict for this specific file is resolved," but fossil does not do so,
and it does not remember that a file is conflicted. When a conflict occurs,
the conflicting part(s) of the file will be wrapped up in blocks which look
like this (copy/pasted from a recent mail by Richard):

<<< BEGIN MERGE CONFLICT: local copy shown first <<<
  === COMMON ANCESTOR content follows 
  === MERGED IN content follows ==
  >>> END MERGE CONFLICT >

If you don't see any of those in your source-controlled files then fossil
does not know about a conflict. If it reports a conflict and yet does not
tag it with such a block, then something is wrong (in fossil), but we are
not currently aware of any such bugs.

-- 
- stephan beal
http://wanderinghorse.net/home/stephan/
http://gplus.to/sgbeal
"Freedom is sloppy. But since tyranny's the only guaranteed byproduct of
those who insist on a perfect world, freedom will have to do." -- Bigby Wolf
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Conflicts during update

2015-08-12 Thread Jacek Cała
Ok, puzzle solved.

As suggested in the fossil message I did 'fossil undo' and then 'fossil
update > fossil.log'. That revealed the problematic conflicts:

CONFLICT path/to/the/problematic/files/... - edited locally but deleted by
update

As a result fossil did not delete all 102 conflicted files but left them in
my local working copy. That's not the best resolution, I think, because
right now if I run 'fossil change' I cannot see any changes yet still these
files are not in the remote repo. I can think of git which works nice in
such cases. It would prevent me doing 'pull' (equivalent of 'fossil
update') and would complain that the pull would destroy the local changes.
That would force me to see the changes first, then make a decision about
what I wanted to do with my local changes and only then do the pull. What
do you think? Would that be possible for fossil, too?

  Cheers,
  Jacek


2015-08-12 9:19 GMT+01:00 Stephan Beal :

> On Wed, Aug 12, 2015 at 10:13 AM, Jacek Cała  wrote:
>
>> Thanks for the suggestion... no luck in finding '<'. It matches only
>> _FOSSIL_ and a few binary files. It could be the line endings because I
>> work primarily on Windows and whenever fossil complains about CR/LF I just
>> ignore it (saying 'a' during the commit).
>>
>> However, I guess, there is no way to list files that were reported as
>> conflicting during merge, is there?
>>
>
> Not that i am aware of. i know svn requires one to manually tell it "the
> conflict for this specific file is resolved," but fossil does not do so,
> and it does not remember that a file is conflicted. When a conflict occurs,
> the conflicting part(s) of the file will be wrapped up in blocks which look
> like this (copy/pasted from a recent mail by Richard):
>
> <<< BEGIN MERGE CONFLICT: local copy shown first <<<
>   === COMMON ANCESTOR content follows 
>   === MERGED IN content follows ==
>   >>> END MERGE CONFLICT >
>
> If you don't see any of those in your source-controlled files then fossil
> does not know about a conflict. If it reports a conflict and yet does not
> tag it with such a block, then something is wrong (in fossil), but we are
> not currently aware of any such bugs.
>
> --
> - stephan beal
> http://wanderinghorse.net/home/stephan/
> http://gplus.to/sgbeal
> "Freedom is sloppy. But since tyranny's the only guaranteed byproduct of
> those who insist on a perfect world, freedom will have to do." -- Bigby Wolf
>
> ___
> fossil-users mailing list
> fossil-users@lists.fossil-scm.org
> http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
>
>
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Conflicts during update

2015-08-12 Thread Stephan Beal
On Wed, Aug 12, 2015 at 1:44 PM, Jacek Cała  wrote:

> ...
>
CONFLICT path/to/the/problematic/files/... - edited locally but deleted by
> update
>
> As a result fossil did not delete all 102 conflicted files but left them
> in my local working copy. That's not the best resolution, I think, because
> right now if I run 'fossil change' I cannot see any changes yet still these
> files are not in the remote repo. I can think of git which works nice in
> such cases. It would prevent me doing 'pull' (equivalent of 'fossil
> update') and would complain that the pull would destroy the local changes.
> That would force me to see the changes first, then make a decision about
> what I wanted to do with my local changes and only then do the pull. What
> do you think? Would that be possible for fossil, too?
>

i'm only vaguely familiar with fossil's update- and
conflict-detection/reporting bits, so i cannot say anything useful. To me
it sounds like "6 one way and half-a-dozen the other." As a rule, fossil
doesn't like to explicitly prevent the user doing anything, as doing so is
normally part of a project-specific mentality/policy, and fossil tries not
to impose any such things on projects. By not allowing you to perform an
update, fossil might effectively lock you out of your repo until you
resolve the conflict _before_ updating, and that doesn't sound like the
right approach to me. Perhaps others more well-versed in those parts of the
code can provide some insights on whether or not it would be feasible.

-- 
- stephan beal
http://wanderinghorse.net/home/stephan/
http://gplus.to/sgbeal
"Freedom is sloppy. But since tyranny's the only guaranteed byproduct of
those who insist on a perfect world, freedom will have to do." -- Bigby Wolf
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Conflicts during update

2015-08-12 Thread Tomek Kott
So I've seen a very similar thing happen twice on a windows machine, where 
fossil reports conflicts in a lot of files (in one case it was binary code for 
LabVIEW, so no possible line endings) but individual inspection of differences 
with a proper binary differ listed nothing. Only a close/reopen cleared 
whatever was going on from fossil. I've never been able to track it down as a 
repeatable bug, but I do actually believe there might be some odd edge case. 

Tomek

> Date: Wed, 12 Aug 2015 10:19:33 +0200
> From: Stephan Beal 
> To: "Fossil SCM user's discussion" 
> Subject: Re: [fossil-users] Conflicts during update
> Message-ID:
>   
> Content-Type: text/plain; charset="utf-8"
> 
> On Wed, Aug 12, 2015 at 10:13 AM, Jacek Ca?a  wrote:
> 
> > Thanks for the suggestion... no luck in finding '<<<<<'. It matches only
> > _FOSSIL_ and a few binary files. It could be the line endings because I
> > work primarily on Windows and whenever fossil complains about CR/LF I just
> > ignore it (saying 'a' during the commit).
> >
> > However, I guess, there is no way to list files that were reported as
> > conflicting during merge, is there?
> >
> 
> Not that i am aware of. i know svn requires one to manually tell it "the
> conflict for this specific file is resolved," but fossil does not do so,
> and it does not remember that a file is conflicted. When a conflict occurs,
> the conflicting part(s) of the file will be wrapped up in blocks which look
> like this (copy/pasted from a recent mail by Richard):
> 
> <<<<<<< BEGIN MERGE CONFLICT: local copy shown first <<<<<<<<<<<<<<<
>   === COMMON ANCESTOR content follows 
>   === MERGED IN content follows ==
>   >>>>>>> END MERGE CONFLICT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> 
> If you don't see any of those in your source-controlled files then fossil
> does not know about a conflict. If it reports a conflict and yet does not
> tag it with such a block, then something is wrong (in fossil), but we are
> not currently aware of any such bugs.
> 
> -- 
> - stephan beal
> http://wanderinghorse.net/home/stephan/
> http://gplus.to/sgbeal
> "Freedom is sloppy. But since tyranny's the only guaranteed byproduct of
> those who insist on a perfect world, freedom will have to do." -- Bigby Wolf
> -- next part --
> An HTML attachment was scrubbed...
> URL: 
> <http://lists.fossil-scm.org:8080/pipermail/fossil-users/attachments/20150812/4bef1cf8/attachment.html>
> 

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


Re: [fossil-users] Conflicts during update

2015-08-12 Thread Jacek Cała
Hi Tomek,

As mentioned in my previous e-mail, in my case it was an issue with files
changed in my working copy which were deleted in the remote repo. Fossil
reported them as 'edited locally but deleted by update' and left them in my
working copy. I find it inconvenient because the only way I can think of to
resolve it is to do 'fossil undo', see the changes, address them and then
'fossil update' makes sense.

  Cheers,
  Jacek


2015-08-12 14:09 GMT+01:00 Tomek Kott :

> So I've seen a very similar thing happen twice on a windows machine, where
> fossil reports conflicts in a lot of files (in one case it was binary code
> for LabVIEW, so no possible line endings) but individual inspection of
> differences with a proper binary differ listed nothing. Only a close/reopen
> cleared whatever was going on from fossil. I've never been able to track it
> down as a repeatable bug, but I do actually believe there might be some odd
> edge case.
>
> Tomek
>
> > Date: Wed, 12 Aug 2015 10:19:33 +0200
> > From: Stephan Beal 
> > To: "Fossil SCM user's discussion" 
> > Subject: Re: [fossil-users] Conflicts during update
> > Message-ID:
> > 
> > Content-Type: text/plain; charset="utf-8"
> >
> > On Wed, Aug 12, 2015 at 10:13 AM, Jacek Ca?a 
> wrote:
> >
> > > Thanks for the suggestion... no luck in finding '<<<<<'. It matches
> only
> > > _FOSSIL_ and a few binary files. It could be the line endings because I
> > > work primarily on Windows and whenever fossil complains about CR/LF I
> just
> > > ignore it (saying 'a' during the commit).
> > >
> > > However, I guess, there is no way to list files that were reported as
> > > conflicting during merge, is there?
> > >
> >
> > Not that i am aware of. i know svn requires one to manually tell it "the
> > conflict for this specific file is resolved," but fossil does not do so,
> > and it does not remember that a file is conflicted. When a conflict
> occurs,
> > the conflicting part(s) of the file will be wrapped up in blocks which
> look
> > like this (copy/pasted from a recent mail by Richard):
> >
> > <<<<<<< BEGIN MERGE CONFLICT: local copy shown first <<<<<<<<<<<<<<<
> > === COMMON ANCESTOR content follows 
> > === MERGED IN content follows ==
> > >>>>>>> END MERGE CONFLICT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >
> > If you don't see any of those in your source-controlled files then fossil
> > does not know about a conflict. If it reports a conflict and yet does not
> > tag it with such a block, then something is wrong (in fossil), but we are
> > not currently aware of any such bugs.
> >
> > --
> > - stephan beal
> > http://wanderinghorse.net/home/stephan/
> > http://gplus.to/sgbeal
> > "Freedom is sloppy. But since tyranny's the only guaranteed byproduct of
> > those who insist on a perfect world, freedom will have to do." -- Bigby
> Wolf
> > -- next part --
> > An HTML attachment was scrubbed...
> > URL: <
> http://lists.fossil-scm.org:8080/pipermail/fossil-users/attachments/20150812/4bef1cf8/attachment.html
> >
> >
>
>
> ___
> fossil-users mailing list
> fossil-users@lists.fossil-scm.org
> http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
>
>
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Conflicts during update

2015-08-12 Thread bch
On Aug 12, 2015 1:19 AM, "Stephan Beal"  wrote:
>
> On Wed, Aug 12, 2015 at 10:13 AM, Jacek Cała  wrote:
>>
>> Thanks for the suggestion... no luck in finding '<'. It matches only
_FOSSIL_ and a few binary files. It could be the line endings because I
work primarily on Windows and whenever fossil complains about CR/LF I just
ignore it (saying 'a' during the commit).
>>
>> However, I guess, there is no way to list files that were reported as
conflicting during merge, is there?
>
>
> Not that i am aware of.

If there really are conflicts, [fossil changes] should report them.

Also, fiddling with your diff command might be illustrative, example:
[fossil set diff-command "diff -bu"] for producing unified diff that
ignores whitespace, and "diff -u" for acknowledging whitespace...

> i know svn requires one to manually tell it "the conflict for this
specific file is resolved," but fossil does not do so, and it does not
remember that a file is conflicted. When a conflict occurs, the conflicting
part(s) of the file will be wrapped up in blocks which look like this
(copy/pasted from a recent mail by Richard):
>
> <<< BEGIN MERGE CONFLICT: local copy shown first <<<
>   === COMMON ANCESTOR content follows 
>   === MERGED IN content follows ==
>   >>> END MERGE CONFLICT >
>
> If you don't see any of those in your source-controlled files then fossil
does not know about a conflict. If it reports a conflict and yet does not
tag it with such a block, then something is wrong (in fossil), but we are
not currently aware of any such bugs.
>
> --
> - stephan beal
> http://wanderinghorse.net/home/stephan/
> http://gplus.to/sgbeal
> "Freedom is sloppy. But since tyranny's the only guaranteed byproduct of
those who insist on a perfect world, freedom will have to do." -- Bigby Wolf
>
> ___
> fossil-users mailing list
> fossil-users@lists.fossil-scm.org
> http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
>
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Conflicts during update

2015-08-12 Thread Warren Young
On Aug 12, 2015, at 5:44 AM, Jacek Cała  wrote:
> 
> CONFLICT path/to/the/problematic/files/... - edited locally but deleted by 
> update
> 
> As a result fossil did not delete all 102 conflicted files but left them in 
> my local working copy. That's not the best resolution, I think

Historically, Fossil never deletes working copy files on “fossil mv/rm”.  This 
holds true when you merge one branch into another: when you update to the 
target branch, the deleted files reappear, then on “fossil merge” the old 
working copy files are left behind, even though they are no longer on the 
current branch in the repo.

However, Fossil recently got an optional feature that — as I understand it — 
will become the default in Fossil 2.0.  Meanwhile, in 1.x, you have to enable 
it in your Fossil binary first, with:

   $ ./configure --with-legacy-mv-rm
   $ make && sudo make install

The option is named strangely, so I hope it changes, but it’s still named that 
way in trunk, as of [d17dc8f220] anyway.

The option’s name doesn’t tell you what it actually does in Fossil 1.x, which 
is to enable a new setting, mv-rm-files, which when set causes “fossil mv/rm” 
to behave like Unix mv/rm: the working copy files are [re]moved at the same 
time the repo changes are scheduled, so you no longer need to do 2-step mv/rm.

The interesting bit here is that with this option set, merging a branch with 
removed files also removes working copy files, as you expected it to.

Fossil will be more consistent in its behavior when mv-rm-files becomes the 
default behavior.

> It would prevent me doing 'pull' (equivalent of 'fossil update') and would 
> complain that the pull would destroy the local changes.

I did some testing, and Fossil will indeed destroy local changes in such 
situations.  It actually doesn’t require branches to do so.  Test case:

mkdir test
cd test
fossil init ../test.f
f open ../test.f
echo ‘Initial contents’ > foo
f add foo
f ci -m 'added foo'
echo 'Changed foo' > foo
f set mv-rm-files 1
f rm foo
cat foo

Result: foo disappears, along with your local changes!

This is a bug.

The solution is to fully implement the decision table in the Mercurial 
documentation for its rm command:

  https://www.selenic.com/mercurial/hg.1.html#remove

Note that Mercurial demands -f to make it accept an rm command if there are 
local changes.  Otherwise, Mercurial goes to state ‘W’, whereas Fossil 
currently goes to state ‘RD’.
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Conflicts during update

2015-08-12 Thread Warren Young
On Aug 12, 2015, at 2:13 AM, Jacek Cała  wrote:
> 
> I work primarily on Windows and whenever fossil complains about CR/LF I just 
> ignore it (saying 'a' during the commit).

Don’t do that.

Fossil is trying to tell you about a real problem.  It means you have either 
got:

a. A file with mixed line ending styles (e.g. LF most places but CR+LF in a few 
places); or

b. A text file using a line ending style inconsistent with your current Fossil 
settings.

Instead of ignoring the warning, you should either:

1. Decide that the project’s line ending style is CR+LF to cater to Windows 
defaults, then set the crnl-glob setting so that Fossil knows which files are 
text files, and thus don’t need this warning; or

2. Choose LF instead, and use text editors on Windows that don’t rewrite LF 
files as CR+LF, and which visually warn you about mixed line endings.

If you don’t make a decision and stick to it, you get two bad effects.  First, 
you can’t tell case ‘a’ above from case ‘b’.  Second, you’re checking in a 
bunch of pointless diffs, potentially one per line, which makes automatic 
merging impossible.

Option 2 is preferable, if you can get away with it.  Unless you’re still using 
Notepad, you probably *can* get away with it these days.

If you must choose option 1 for some reason, I recommend that you use Fossil’s 
versioned crlf-glob setting.  (i.e. vi .fossil-settings/crnl-glob)

One alternative is to set it via the Admin/Settings UI, but that only affects 
new clones; it doesn’t change the settings on sync in existing clones.

The other alternative is to do it via the “fossil setting” command, but that’s 
unmaintainable and doesn’t let you easily use line breaks, which makes the 
*glob settings much more readable.

> I guess, there is no way to list files that were reported as conflicting 
> during merge, is there? 

Except for the deleted files case brought up in my other post, Fossil tells you 
this at least two different ways:

–  $ f update
  MERGE foo/bar.txt
  * 1 merge conflicts in foo/bar.txt
  
  updated-to:   99c79be1294d… etc.
  WARNING: 1 merge conflicts

and, after an incomplete update:

  $ f stat
  repository: /path/to/repo.fossil
  …
  CONFLICT   foo/bar.txt

This doesn’t currently (!) happen with the mv-rm-files enabled, if you said 
“fossil rm”.  Instead of CONFLICT, you get DELETED.
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Conflicts during update

2015-08-12 Thread Jacek Cała
Thanks Warren for valuable comments. I had to resolve the problem and
cannot easily revert to the suspicious state I had reported previously. I
wonder whether 'fossil stat' would give me the answer I was looking for.
Will remember it for the future.

  Cheers,
  Jacek

2015-08-12 21:12 GMT+01:00 Warren Young :

> On Aug 12, 2015, at 2:13 AM, Jacek Cała  wrote:
> >
> > I work primarily on Windows and whenever fossil complains about CR/LF I
> just ignore it (saying 'a' during the commit).
>
> Don’t do that.
>
> Fossil is trying to tell you about a real problem.  It means you have
> either got:
>
> a. A file with mixed line ending styles (e.g. LF most places but CR+LF in
> a few places); or
>
> b. A text file using a line ending style inconsistent with your current
> Fossil settings.
>
> Instead of ignoring the warning, you should either:
>
> 1. Decide that the project’s line ending style is CR+LF to cater to
> Windows defaults, then set the crnl-glob setting so that Fossil knows which
> files are text files, and thus don’t need this warning; or
>
> 2. Choose LF instead, and use text editors on Windows that don’t rewrite
> LF files as CR+LF, and which visually warn you about mixed line endings.
>
> If you don’t make a decision and stick to it, you get two bad effects.
> First, you can’t tell case ‘a’ above from case ‘b’.  Second, you’re
> checking in a bunch of pointless diffs, potentially one per line, which
> makes automatic merging impossible.
>
> Option 2 is preferable, if you can get away with it.  Unless you’re still
> using Notepad, you probably *can* get away with it these days.
>
> If you must choose option 1 for some reason, I recommend that you use
> Fossil’s versioned crlf-glob setting.  (i.e. vi .fossil-settings/crnl-glob)
>
> One alternative is to set it via the Admin/Settings UI, but that only
> affects new clones; it doesn’t change the settings on sync in existing
> clones.
>
> The other alternative is to do it via the “fossil setting” command, but
> that’s unmaintainable and doesn’t let you easily use line breaks, which
> makes the *glob settings much more readable.
>
> > I guess, there is no way to list files that were reported as conflicting
> during merge, is there?
>
> Except for the deleted files case brought up in my other post, Fossil
> tells you this at least two different ways:
>
> –  $ f update
>   MERGE foo/bar.txt
>   * 1 merge conflicts in foo/bar.txt
>   
>   updated-to:   99c79be1294d… etc.
>   WARNING: 1 merge conflicts
>
> and, after an incomplete update:
>
>   $ f stat
>   repository: /path/to/repo.fossil
>   …
>   CONFLICT   foo/bar.txt
>
> This doesn’t currently (!) happen with the mv-rm-files enabled, if you
> said “fossil rm”.  Instead of CONFLICT, you get DELETED.
> ___
> fossil-users mailing list
> fossil-users@lists.fossil-scm.org
> http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
>
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Conflicts during update

2015-08-12 Thread Warren Young

> On Aug 12, 2015, at 2:52 PM, Jacek Cała  wrote:
> 
> I had to resolve the problem and cannot easily revert to the suspicious state 
> I had reported previously.

The past isn’t as important as fixing the Fossil text file inconsistency for 
the future.

If you’re going to use CR+LF line endings, you really need to set crnl-glob 
appropriately for your repository.

I said in the previous email that going with LF is better, but didn’t explain 
why.  There are several reasons to do it, even if you’re primarily on Windows:

1. Fossil itself comes out of the Unix world, so when in doubt, it assumes LF.  
You see this in the behavior of the “convert” option in the warning you’ve been 
ignoring by selecting “a” every time.

2. Programmer’s tools on Windows and Unix typically understand the other 
platform’s line endings, so choice of platform is less a concern as it once was 
when trying to decide on a style.  Since Fossil’s CR/LF tests are structured 
toward detecting LF-only accidentally turning into CR+LF, and not the other way 
around, choosing CR+LF as the project style means you can’t detect certain 
classes of errors.

Test case:

$ od -c x.txt
000g   o   o   d   l   i   n   e  \r  \n   b   a   d   l
020i   n   e  \n

That file checks into the repo without warning with crnl-glob enabled for 
‘*.txt’, despite the missing \r on the second line.  This is because with 
crnl-glob enabled for a file, it isn’t checking whether the file has 
internally-consistent line endings, it is *ignoring* changes that only involve 
CR characters.

If you check it in and then fix the file, Fossil still doesn’t complain, since 
you’ve told it that the new CR character is expected.

But here’s a surprise: If you now convert that fixed file to LF-only, Fossil 
*still* doesn’t warn you because you’ve told it that CR changes are not worth 
warning about, and all you’ve done is removed two CR characters.
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Conflicts during update

2015-08-12 Thread Andy Bradford
Thus said Warren Young on Wed, 12 Aug 2015 13:50:10 -0600:

> Fossil  will  be more  consistent  in  its behavior  when  mv-rm-files
> becomes the default behavior.

Personally, I  like the  current behavior of  leaving the  files behind,
though I can see that some would like a different behavior. I'm not sure
how changing this will make it any more consistent.

Thanks,

Andy
--
TAI64 timestamp: 400055cbdda0
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Conflicts during update

2015-08-12 Thread Warren Young
On Aug 12, 2015, at 5:57 PM, Andy Bradford  wrote:
> 
> Thus said Warren Young on Wed, 12 Aug 2015 13:50:10 -0600:
> 
>> Fossil  will  be more  consistent  in  its behavior  when  mv-rm-files
>> becomes the default behavior.
> 
> I'm not sure
> how changing this will make it any more consistent.

The OP laid out one case:

  f checkin --branch feature
  f rm --hard foo/bar.txt
  f ci -m ‘removed unwanted bar.txt file’
  f up trunk
  f merge feature

With the “classic” behavior, bar.txt comes back when you “up trunk,” which is 
expected, but remains left behind after the merge, which is not expected.

With mv-rm-files enabled, merging the feature branch removes bar.txt from the 
local checkout.
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users