git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[cogito-0.18.2] Documentation/Code Mismatch: cg-switch -l

From
MLMark Lawrence <nomad@null.net>
Date
May 26, 2008, 11:18 UTC
Message-ID
<20080526111837.GA17429@lifebook.rekudos.net>
Hi,

I don't know if this is a bug or just my understanding, but I'm having trouble matching the behaviour of "cg-switch -l" with the documentation.

According to the docs, -l means that:
                                                ... local changes will
  be "kept" with your previous branch, you will get a pristine tree of
  the new branch and when you switch back to the original branch you
  will also get back the local changes.

However if I run "cg-switch -l -c testing" on a dirty (ie with local changes) repository I do not get a pristine tree. In fact, it appears the local changes are carried over.

Initial state:
    mlawren@lifebook:/tmp/x$ cg-status
    Heads:
        >master     6a8a774cd1fb84f48f906a9ce3322a5ac94deb00
       R origin     cdc9a7857b93b00f515b010c9aeadda4e649b92a
    ? Changes
    ? META.yml
    ? Makefile
    ? blib/
    ? inc/
    ? pm_to_blib
    ? t/benchmark.pl
    ? t/cache.t
    ? t/hyphens.t
    ? t/synopsis.t
    ? x
    M MANIFEST
    M Makefile.PL
    M debian/changelog
    M debian/control
    M lib/XML/API.pm
    A lib/XML/API/Cache.pm
    M lib/XML/API/RSS.pm
    M lib/XML/API/XHTML.pm
    M t/02-langs.t
    M t/03-XML-API.t
    A t/04-parse.t
Create a new local branch and check status:
    mlawren@lifebook:/tmp/x$ cg-switch -l -c testing
    Creating new branch testing: 6a8a774cd1fb84f48f906a9ce3322a5ac94deb00
    Switching to branch testing...
    mlawren@lifebook:/tmp/x$ cg-status
    Heads:
        master     6a8a774cd1fb84f48f906a9ce3322a5ac94deb00
      R origin     cdc9a7857b93b00f515b010c9aeadda4e649b92a
        >testing    6a8a774cd1fb84f48f906a9ce3322a5ac94deb00
    ? Changes
    ? META.yml
    ? Makefile
    ? blib/
    ? inc/
    ? pm_to_blib
    ? t/benchmark.pl
    ? t/cache.t
    ? t/hyphens.t
    ? t/synopsis.t
    ? x
    M MANIFEST
    M Makefile.PL
    M debian/changelog
    M debian/control
    M lib/XML/API.pm
    A lib/XML/API/Cache.pm
    M lib/XML/API/RSS.pm
    M lib/XML/API/XHTML.pm
    M t/02-langs.t
    M t/03-XML-API.t
    A t/04-parse.t

Why do I still have all these modified and additional files? I fully expected to still see the '?' file not under git/cogito control. However the uncommitted changes are still all present.

I am also confused by the existence of the '-p' option, which by my reading implies pretty much the same condition as if you *don't* specify -l.

Regards, Mark.

-- 
Mark Lawrence
Next: Andreas Ericsson
Message 1 of 2 in “[cogito-0.18.2] Documentation/Code Mismatch: cg-switch -l”
  1. Mark LawrenceMay 26, 2008
  2. Andreas EricssonMay 26, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.