Re: [StGIT PATCH 2/2] Don't touch ref files manually

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2007-08-21 14:23:29 +0100, Catalin Marinas wrote:

> On 10/08/07, Karl Hasselström <kha@xxxxxxxxxxx> wrote:
>
> > Messing with files manually doesn't work if the refs are packed.
> > The officially preferred way is to use git-update-ref,
> > git-show-ref, et.al. So do that.
>
> Thanks for this patch. I'll apply it but I have some questions
> below.
>
> > @@ -294,14 +301,16 @@ def set_head_file(ref):
> >      # head cache flushing is needed since we might have a different value
> >      # in the new head
> >      __clear_head_cache()
> > -    if __run('git-symbolic-ref HEAD',
> > -             [os.path.join('refs', 'heads', ref)]) != 0:
> > +    if __run('git-symbolic-ref HEAD', ['refs/heads/%s' % ref]) != 0:
> >          raise GitException, 'Could not set head to "%s"' % ref
>
> Why replacing os.path.join with a single string? I think the former
> is more portable if, in the future, someone will try to run StGIT on
> Windows (and GIT would be compiled directly, without cygwin).

Yes, that's the case iff it is a pathname in the file system. But I
think forward slashes are used even on Windows in this case --
otherwise too mmuch configuration would have to be changed. This is
what I _think_, however; I haven't actually checked.

> > diff --git a/t/t1000-branch-create.sh b/t/t1000-branch-create.sh
> > index cca5504..e920e93 100755
> > --- a/t/t1000-branch-create.sh
> > +++ b/t/t1000-branch-create.sh
> > @@ -13,26 +13,9 @@ Exercises the "stg branch" commands.
> >  stg init
> >
> >  test_expect_success \
> > -    'Create a spurious refs/patches/ entry' '
> > -    find .git -name foo | xargs rm -rf &&
> > -    touch .git/refs/patches/foo
>
> I haven't tried this test but is there any problem if we keep them?

Yes.

This test started to fail after my change. I don't remember exactly,
but I think it was git-symbolic-ref actually reading the file, finding
no ref there, and ignoring it. So this empty file didn't mess up the
machinery anymore, and since this isn't a common usecase anyway, and
since this change is to rely on git for all the low-level ref
manipulation, I just deleted the test.

-- 
Karl Hasselström, kha@xxxxxxxxxxx
      www.treskal.com/kalle
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux