doubts on revert, status and diff... a bug?

Bela Babik teki321 at gmail.com
Mon Feb 4 16:22:44 CST 2008


I can not really help in this (on windows permission changes are not
considered as modifications).

Are you using git=true in your config?

teki

On Feb 4, 2008 8:27 PM, Alessandro Dentella <sandro at e-den.it> wrote:
> In my opinion 'hg revert' behaves differet from what inline help says for
> permission
>
> On Sat, Feb 02, 2008 at 10:02:27PM +1100, Bela Babik wrote:
> > > I thought revert would make the version of header_check equal to the rev
> > > n. 1... shoudn't it?
> >
> > hg revert affects only the working copy.
>
> I know. Working dir is at changeset 4. If I revert 'header_checks' to
> revision 1 as in:
>
>    www:/etc/postfix# hg revert -r 1 header_checks
>
> I expect contet of file 'header_check'to change
> but this shows that nothing changed, so no real diff between
> www:/etc/postfix# hg st .
> www:/etc/postfix#
>
> so this is a complete example:
> -----------------------------
>
>  $ hg init
>  $ touch perm.test
>  $ ll perm.test
> -rw-r--r-- 1 sandro sandro 0 2008-02-04 10:13 perm.test
>  $ hg add perm.test
>  $ hg ci -m 644 perm.test
>  $ chmod 755 perm.test
>  $ hg st
> M perm.test
>  $ hg ci -m 755 perm.test
>  $ hg log
> changeset:   1:299473ef717d
> tag:         tip
> user:        sandro
> date:        Mon Feb 04 10:14:29 2008 +0100
> summary:     755
>
> changeset:   0:9443e55c06fd
> user:        sandro
> date:        Mon Feb 04 10:14:01 2008 +0100
> summary:     644
>
>  $ ll perm.test
> -rwxr-xr-x 1 sandro sandro 0 2008-02-04 10:13 perm.test
>  $ hg st
>  $ chmod 644 perm.test                ### I change manually -> hg realizes that
>  $ hg st
> M perm.test
>  $ chmod 755 perm.test
>  $ hg st
>  $ hg revert -r 0 perm.test           ### I revert, perms don't chage
>  $ ll perm.test
> -rwxr-xr-x 1 sandro sandro 0 2008-02-04 10:13 perm.test
>  $ hg st
>  $ hg st --rev 0
> M perm.test
>
> The last lines show that permission are not restore but hg revert -h says
> they should revert::
>
>     If a file has been deleted, it is restored.  If the executable
>     mode of a file was changed, it is reset.
>
>
> sandro
> *:-)
>
>
>
> > Hi all, I'm using hg to keep trace of modification in some conf file, I see
> > modifications that are just on dates (I guess) that I can't hide as I'd like
> > (suggestions are wellcome).
> >
> > in the following anyhow I'd expect revert to work but it does no do what I'd
> > expect...
> >
> > www:/etc/postfix# hg st --rev 1 .
> > M header_checks
> > M main.cf
> > M master.cf
> > M relay_domains.db
> > www:/etc/postfix# hg diff -r 1
> > www:/etc/postfix#
> >
> > this means no diffs are between rev N. 1 and working dir
> > I deduce that the 'M' status above is not in data, just in dates: correct?
> >
> >
> > www:/etc/postfix# hg revert -r 1 header_checks
> > www:/etc/postfix# hg st .
> > www:/etc/postfix# hg st --rev 1 .
> > M header_checks
> > M main.cf
> > M master.cf
> > M relay_domains.db
> >
> > I thought revert would make the version of header_check equal to the rev
> > n. 1... shoudn't it?
> >
> sandro
> *:-)
> _______________________________________________
> Mercurial mailing list
> Mercurial at selenic.com
> http://selenic.com/mailman/listinfo/mercurial
>


More information about the Mercurial mailing list