{"thread":{"id":"54183","subject":"Sequent repos ,, pull without checkout","startedAt":"2020-09-03T07:01:31Z","lastAt":"2020-09-03T22:34:26Z","messageCount":2,"participants":["Wolfgang Graf","Raymond E. Pasco"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"404959","messageId":"20200903083859.Horde.d_JTRsvdjC38RffOwMv54lJ@webmail.your-server.de","threadId":"54183","inReplyTo":null,"subject":"Sequent repos ,, pull without checkout","fromName":"Wolfgang Graf","fromEmail":"wg@wogra.net","sentAt":"2020-09-03T06:38:59Z","receivedAt":"2020-09-03T07:01:31Z","isPatch":false,"sender":{"key":"wg@wogra.net","avatar":null},"body":"\nWhat did you do before the bug happened? (Steps to reproduce your issue)\n\n\nWe have three repos bt,bt2,bt3 where bt2 is a clone of bt and bt3 is a  \nclone of bt2.\nAll remote destinations remain unchanged (pointing to the repo before).\n\nStep 1: I'm creating a branch \"b11\" in bt, committing it.\nStep 2: Going to bt2, doing git pull --all.\nStep 3: Going to bt3, doing git pull --all.\n\n\nWhat did you expect to happen? (Expected behavior)\n\nThe branch b11 is usable in bt3 also\n\nWhat happened instead? (Actual behavior)\n\nEither doing\nStep 2a: If I'm doing a git checkout b11 in bt2 before Step 3\nThe branch b11 is also usable in bt3\nThis works\n\nor doing\nStep 2b: If I'm doing a fetch by name 'fetch origin master:master bt11:bt11\"\nThis works\n\nBut if I'm only pushing through from bt to bt3 without doing checkout in bt2\nthe b11 is no more usable in bt3 when omitting step 2a or2b\n\n\nWhat's different between what you expected and what actually happened?\n\nThe pull output did show me that there changes are tracked. But\nonly if a checkout in bt2 in the middle was made before the content\nof the changes made within the origin change are really coming through to bt3\n\n\n\nAnything else you want to add:\n\nThis might not be necessarily a bug. If this behavior is intended please\nclose it. It would be instead of that be nice if some guideline would exist\nto deal with changes wired through a cascade of repositories in  \ndifferent branches.\nAs seen on the internet many people are asking for a solution for that.\n\n\nPlease review the rest of the bug report below.\nYou can delete any lines you don't wish to share.\n\n\n[System Info]\ngit version:\ngit version 2.28.0.windows.1\ncpu: x86_64\nbuilt from commit: 77982caf269b7ee713a76da2bcf260c34d3bf7a7\nsizeof-long: 4\nsizeof-size_t: 8\nshell-path: /bin/sh\nuname: Windows 10.0 18362\ncompiler info: gnuc: 10.2\nlibc info: no libc information available\n$SHELL (typically, interactive shell): C:\\Program Files\\Git\\usr\\bin\\bash.exe\n\n\n[Enabled Hooks]\n-\n\n\nKind regards\n\nWolfgang\n\nwg@wogra.net\n\n\n-- \n**\nI prefer signed and encrypted email messages.\nIf you are able to recieve encryted messages please let me know.\n**\n"},{"id":"405000","messageId":"C5E34SOYIUI0.BQMTEWUI28K5@ziyou.local","threadId":"54183","inReplyTo":"20200903083859.Horde.d_JTRsvdjC38RffOwMv54lJ@webmail.your-server.de","subject":"Re: Sequent repos ,, pull without checkout","fromName":"Raymond E. Pasco","fromEmail":"ray@ameretat.dev","sentAt":"2020-09-03T22:25:16Z","receivedAt":"2020-09-03T22:34:26Z","isPatch":false,"sender":{"key":"ray@ameretat.dev","avatar":"https://avatars.githubusercontent.com/u/115765?v=4"},"body":"This is the expected behavior. The branches in a repository (what you\nsee when you run \"git branch\" with no arguments\") are different from the\nremote-tracking refs (what you see when you run \"git branch -r\", and\nwhich are updated by \"git fetch\"). You can't track another repository's\nremote-tracking refs with your remote-tracking refs, just its actual\nbranches.\n\nThe part which may be confusing is that \"git checkout\", as a shortcut,\nlets you attempt to check out a branch that does not exist, and if a\nbranch with the same name exists on a remote, it will create the branch\nand set it up to track that remote branch.\n\nIf you wanted to fetch branches from multiple other repositories,\nthough, you would ordinarily add those repositores as remotes, rather\nthan pushing everything through a single existing remote.\n\nHope that helps.\n"}]}