{"thread":{"id":"1972","subject":"Really happy with cogito for inhouse teamwork, now that I've figured out cg-clone...","startedAt":"2005-09-29T05:58:56Z","lastAt":"2005-09-29T15:15:35Z","messageCount":2,"participants":["Martin Langhoff","Josef Weidendorfer"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"9458","messageId":"46a038f905092822587f5414d4@mail.gmail.com","threadId":"1972","inReplyTo":null,"subject":"Really happy with cogito for inhouse teamwork, now that I've figured out cg-clone...","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2005-09-29T05:58:56Z","receivedAt":"2005-09-29T05:58:56Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"Just wanted to mention something that isn't in Cogito's readme, and\nhas been crucial in making our use of cogito straightforward.\n\nWe've made the transition a few weeks ago, and we've been _really_\nhappy with git/cogito (over cvs and tla, our \"other\" SCMs). Whoever,\nthere was something we all found ackward in how we did\nclone/pull/push.\n\nThe _right_ way to do for a team with git-over-ssh is:\n\nDoing the checkout the 'right' way:\n $ cg-clone git+ssh://locke.catalyst.net.nz/var/git/project.git#branchname\nlocaldirname\n\nWork cycle:\n # work work work\n $ cg-commit\n $ cg-update\n $ cg-push\n\nThe README doesn't talk about teams with \"peer\" access to a shared\nrepo. So I fumbled about and we were doing cg-clone using rsync (rsync\nprotocol or over ssh), or just straight http. This made pushing back\nto the repo impossible with Cogito. So we were calling git-push\ndirectly, with the risk of pushing to the wrong head (only really\nrisky for two very closely related heads, but still).\n\nNow, I should put this into a patch to Cogito's README.... give me 5'...\n\n\nmartin\n"},{"id":"9477","messageId":"200509291715.35317.Josef.Weidendorfer@gmx.de","threadId":"1972","inReplyTo":"46a038f905092822587f5414d4@mail.gmail.com","subject":"Re: Really happy with cogito for inhouse teamwork, now that I've figured out cg-clone...","fromName":"Josef Weidendorfer","fromEmail":"josef.weidendorfer@gmx.de","sentAt":"2005-09-29T15:15:35Z","receivedAt":"2005-09-29T15:15:35Z","isPatch":false,"sender":{"key":"josef.weidendorfer@gmx.de","avatar":null},"body":"On Thursday 29 September 2005 07:58, Martin Langhoff wrote:\n> Doing the checkout the 'right' way:\n>  $ cg-clone git+ssh://locke.catalyst.net.nz/var/git/project.git#branchname\n> localdirname\n>\n> Work cycle:\n>  # work work work\n>  $ cg-commit\n>  $ cg-update\n>  $ cg-push\n\nYes, this works very well here, too.\nAnd it works officially since cg-push allows to push on a\nnon-master remote head (based on git's advanced push allowing mapping of \ndifferent head names on local and remote side).\n[Before, I used a hack in cg-clone: with e.g. cloning remote head \"rem\",\nsymlink local master to a local \"rem\". This was working quite fine, too]\n\nThe following is equally fine (smaller work per commit, with lot more commits\nrelative to the pushing to the central rep - gives more documentation\non the development history):\n\n# work\n$ cg-commit\n# work\n$ cg-commit\n# work\n$ cg-commit\n$ cg-update\n$ cg-push\n\nAditionally, we have in the central repository a head per developer,\nto publish experimental/instable work, and they are regularly merged\nback into the central master.\n\nThe key to simplicity is here, to have one clone for every remote head.\nIntroducing Git/Cogito to other people this way almost needs no tutorial at \nall.\n\nThis is complemented by an automated mail to a project mailing list\nvia use of the update-hook in the central repository, so that every\ndeveloper is kept up-to-date on work of others. The mail is\nformatted to include URLs for every commit to a matching\ngitweb interface. Was really easy to setup and quite handy.\n\nJosef\n"}]}