- Feb 27, 2020
-
-
Mike Frysinger authored
Some users get repo from their distro (e.g. /usr/bin/repo), so the suggestion to copy over top of it makes people uneasy, if it's even possible in the first place. Bug: https://crbug.com/gerrit/12335 Change-Id: I9a0c83d6ba0f466fa8e6d61f674ee13396f9a968 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256893 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: David Pursehouse <dpursehouse@collab.net>
-
- Feb 26, 2020
-
-
Mike Frysinger authored
We often ask users what OS/version they're running when debugging. Include that in the version output to simplify the process. Change-Id: Ie480b6d1c874e6f4c6f4996a03795077b844f858 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256732 Reviewed-by: David Pursehouse <dpursehouse@collab.net> Tested-by: Mike Frysinger <vapier@google.com>
-
Mike Frysinger authored
Draft CLs were replaced by private/wip CLs in Gerrit instead years ago. Change-Id: If4f3d6606aad40a6f1617a49681dfd45c64d3d37 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256673 Reviewed-by: David Pursehouse <dpursehouse@collab.net> Tested-by: Mike Frysinger <vapier@google.com>
-
- Feb 25, 2020
-
-
Mike Frysinger authored
Change-Id: I65834e74c1c74f257d17b9da84b00e855ad42599 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256464 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: David Pursehouse <dpursehouse@collab.net>
-
Mike Frysinger authored
Bug: https://crbug.com/gerrit/11801 Change-Id: I060465105b4e68ddfc815e572f62bf5dac2c1ffd Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256614 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: David Pursehouse <dpursehouse@collab.net>
-
Mike Frysinger authored
Trying to use the config state when the git tree hasn't yet been created hits bad side effects. Add a check to avoid probing the config logic during the first run. It's not clear what's going wrong at the lower layers, but this gets us back to the behavior before we added worktree support, so lets settle the status quo. Bug: https://crbug.com/gerrit/12387 Change-Id: I85b56797455f3c2e249d02c18496e060be05501d Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256592 Reviewed-by: Xin Li <delphij@google.com> Reviewed-by: Mike Frysinger <vapier@google.com> Tested-by: Mike Frysinger <vapier@google.com>
-
Mike Frysinger authored
Change-Id: I79931cb484508c78f6a8b8413d05b85ed8bc6d98 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256533 Reviewed-by: David Pursehouse <dpursehouse@collab.net> Tested-by: Mike Frysinger <vapier@google.com>
-
Mike Frysinger authored
Add a helper to our git wrapper to find the .git subdir, and then use that to detect internal rebase state. Change-Id: I3b3b6ed4c1f45cc8c3c98dc19c7ca3aabdc46905 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256532 Reviewed-by: David Pursehouse <dpursehouse@collab.net> Tested-by: Mike Frysinger <vapier@google.com>
-
- Feb 23, 2020
-
-
Sean McAllister authored
Still use the repo manifest by default as before, but gives us the option of overriding it to support e.g.: using a subset of the full manifest. Change-Id: Ia42cd1cb3a0a58929d31bb01c9724e9d31f68730 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256372 Reviewed-by: Mike Frysinger <vapier@google.com> Tested-by: Sean McAllister <smcallis@google.com>
-
- Feb 22, 2020
-
-
Mike Frysinger authored
We produce some simple "Get" messages that aren't super clear as to what they're doing, especially for people not familiar with repo. Rephrase these to explicitly state the thing we're doing so it's clear why we're downloading a particular source. Bug: https://crbug.com/gerrit/11293 Change-Id: I0749504f17c5385c6c65274a274e0ae25b117413 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256455 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: David Pursehouse <dpursehouse@collab.net>
-
Mike Frysinger authored
We don't use these for much yet, but init passes it down to the project sync layers which already has support for verbose mode. Change-Id: I651794f1b300be1688eeccf3941ba92c776812b5 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256454 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: Jonathan Nieder <jrn@google.com>
-
Mike Frysinger authored
This copies the output style we use in git_command for showing output and input redirections. Change-Id: I449b27e7b262e1b30b24333109a1d91d9c7b1ce7 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256453 Reviewed-by: Jonathan Nieder <jrn@google.com> Tested-by: Mike Frysinger <vapier@google.com>
-
Mike Frysinger authored
Add a section on worktrees to avoid symlink problems, and note that Python 3 is now a hard requirement. Change-Id: I83811db88692127c40cec8270f6f9486c639dc3f Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256314 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: David Pursehouse <dpursehouse@collab.net>
-
Mike Frysinger authored
Change-Id: I5e30a6d6a1c95fb8d75d8b0f4d63b497e9aac526 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256452 Reviewed-by: David Pursehouse <dpursehouse@collab.net> Tested-by: Mike Frysinger <vapier@google.com>
-
Mike Frysinger authored
Git likes to create .git files with read-only permissions which makes it difficult to open+truncate+write in situ under Windows. Delete it before we write the file content to workaround. Change-Id: I3effd96525f0dfe0b90e298b6bf0b856ea26aa03 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256412 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: David Pursehouse <dpursehouse@collab.net>
-
Mike Frysinger authored
Changing this to a file instead of using a symlink serves two purposes: * We can insert some comments & doc links to help users learn what this is for, discover relevant documentation, and to discourage them from modifying things. * Windows requires Administrator access to use symlinks. With this last change, Windows users can get repo client checkouts with the new --worktree option and not need symlinks anywhere at all. Which means they no longer need to be an Administrator in order to `repo sync`. Change-Id: I9bc46824fd8d4b0f446ba84bd764994ca1e597e2 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256313 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: David Pursehouse <dpursehouse@collab.net>
-
Mike Frysinger authored
Windows requires Administrator access to create symlinks. We can mitigate this a bit by falling back to hardlinks as those may be created by any user on the system. Do this with the git hooks as these are supposed to be internal only and people shouldn't be modifying them. If they do, they'll have to delink first. This seems worth it to allow repo usage without extra privileges. Change-Id: I996ea9c9238f7bd7d27d1d9b1f2786593bf75ef7 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256312 Reviewed-by: David Pursehouse <dpursehouse@collab.net> Tested-by: Mike Frysinger <vapier@google.com>
-
- Feb 21, 2020
-
-
Mike Frysinger authored
Change-Id: I9abebfef5ad19f6a637bc3b12effea9dd6d0269d Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256234 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: David Pursehouse <dpursehouse@collab.net>
-
Mike Frysinger authored
We also need to check more things in the manifest/project handlers, and use platform_utils in a few places to address Windows behavior. Drop Python 2.7 from Windows testing as it definitely doesn't work and we won't be fixing it. Change-Id: I83d00ee9f1612312bb3f7147cb9535fc61268245 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256113 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: Jonathan Nieder <jrn@google.com> Reviewed-by: David Pursehouse <dpursehouse@collab.net>
-
Mike Frysinger authored
We're using this for git worktrees because it handles the .git file format, but it should work for all flows. Unify to simplify. This also fixes the worktree logic which duplicated .git/config settings. Change-Id: Ie3af2e206710859dccfc376b3593f415d6830738 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256034 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: Jonathan Nieder <jrn@google.com>
-
Mike Frysinger authored
Switch the copyright holder to "The Android Open Source Project" to match all the other source files in the tree, and move it to the top of the file to match everything else we do. Change-Id: Ie15d8e2bc004a626e45f715271deeaf3919dc44a Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256235 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: David Pursehouse <dpursehouse@collab.net>
-
- Feb 20, 2020
-
-
Mike Frysinger authored
Change-Id: I0c8fb45f6d5808caf361240a3a0b68eef670eeaa Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256112 Reviewed-by: David Pursehouse <dpursehouse@collab.net> Tested-by: Mike Frysinger <vapier@google.com>
-
Mike Frysinger authored
Also fix the normal output to write to stdout. Change-Id: I6c117eea9cec08f5be9a44b90dbe9bf1f824ec95 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256114 Reviewed-by: David Pursehouse <dpursehouse@collab.net> Tested-by: Mike Frysinger <vapier@google.com>
-
David Pursehouse authored
- E129 visually indented line with same indent as next logical line - E125 continuation line with same indent as next logical line Fixed automatically by: autopep8 --in-place --select E125,E129 subcmds/sync.py Change-Id: Ia2f82f443e1e6a23ba22c6f9849c8485405aed0e Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256092 Reviewed-by: Mike Frysinger <vapier@google.com> Tested-by: David Pursehouse <dpursehouse@collab.net>
-
Mike Frysinger authored
This supports [alias] sections with repo subcommands just like git. Change-Id: Ie9235b5d4449414e6a745814f0110bd6af74ea93 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/255833 Reviewed-by: David Pursehouse <dpursehouse@collab.net> Tested-by: Mike Frysinger <vapier@google.com>
-
Mike Frysinger authored
This allows people to write ~/.repoconfig/config akin to ~/.gitconfig and .repo/config akin to .git/config. This allows us to add settings specific to repo without mixing up git, and to persist in general. Change-Id: I1c6fbe31e63fb8ce26aa85335349c6ae5b1712c6 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/255832 Reviewed-by: David Pursehouse <dpursehouse@collab.net> Tested-by: Mike Frysinger <vapier@google.com>
-
Mike Frysinger authored
Since deleting a source checkout involves a good bit of internal knowledge of .repo/, move the DeleteProject helper out of the sync code and into the Project class itself. This allows us to add git worktree support to it so we can unlock/unlink project checkouts. Change-Id: If9af8bd4a9c7e29743827d8166bc3db81547ca50 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256072 Reviewed-by: Jonathan Nieder <jrn@google.com> Tested-by: Mike Frysinger <vapier@google.com>
-
Mike Frysinger authored
When using extensions, make sure we set the git repo format version so git knows to check the extension compatibility. We can add a helper to the Project API to simplify this and make it foolproof. Change-Id: I9ab6c32d92fe2b8e5df6e2b080ca71556332e909 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256035 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: Jonathan Nieder <jrn@google.com>
-
Mike Frysinger authored
Change-Id: Ic034ae2fd962299d1b352e597b391b6582ecf44b Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256052 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: Jonathan Nieder <jrn@google.com>
-
Mike Frysinger authored
Make it clear that the paths have a .git suffix, and clarify the reason for not using remote servers in the layout. Change-Id: I62c6977ee6f4e1e9882d45727eb239cf5489d2b6 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/256033 Reviewed-by: Jonathan Nieder <jrn@google.com> Tested-by: Mike Frysinger <vapier@google.com>
-
Mike Frysinger authored
This will automatically add the current local branch name as a hashtag. Bug: https://crbug.com/gerrit/10477 Change-Id: I888f8be8419c801f2d98b7a2ad2486799e94f32c Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/255893 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: Mike Frysinger <vapier@google.com>
-
Mike Frysinger authored
Hopefully enough issues should be resolved now that we can start forcing Windows users into Python 3 too. Change-Id: Ic4aad6a0b35ffec7d1372e3da6fca11a2b6fde0b Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/255353 Reviewed-by: David Pursehouse <dpursehouse@collab.net> Tested-by: Mike Frysinger <vapier@google.com>
-
Mike Frysinger authored
This provides initial support for using git worktrees internally instead of our own ad-hoc symlink tree. It's been lightly tested which is why it's not currently exposed via --help. When people opt-in to worktrees in an existing repo client checkout, no projects are migrated. Instead, only new projects will use the worktree method. This allows for limited testing/opting in without having to completely blow things away or get a second checkout. Bug: https://crbug.com/gerrit/11486 Change-Id: Ic3ff891b30940a6ba497b406b2a387e0a8517ed8 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/254075 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: Mike Frysinger <vapier@google.com>
-
Mike Frysinger authored
Different Python & OS versions have different environ behavior wrt accepted types & encoding. Since we're migrating to be Python 3 only, lets change our code to assume strings always work as that's what the newer Python 3 does. This will fail under Python 2 for some env vars, mostly on Windows, but the effort of maintaining shim layers that can handle these edge cases isn't worth it when we're dropping that code. We leave the logic in the `repo` launcher for now as it is simple, and we want it to be able to switch versions a bit longer than the rest of the tree. Here's the support table: | *NIX | Windows | Python 2 | ASCII string | str or bytes, not unicode | Python 3 | str or bytes | str only | Windows uses strings natively in its environment all the time. But it doesn't allow unicode strings under Python 2, so we have to encode. Python 2 on *NIX is funky in that it always lowers to ASCII, so we had to manually encode to avoid errors regardless of unicode or str. Python 3 on Windows & *NIX will accept strings. *NIX will also accept bytes but Windows will not. Bug: https://crbug.com/gerrit/12145 Change-Id: I3cf8f95a06902754ea1f08ad4b28503f7063531b Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/248972 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: Michael Mortensen <mmortensen@google.com> Reviewed-by: Mike Frysinger <vapier@google.com>
-
Mike Frysinger authored
This adds a CLI option to the existing autoupload gitconfig knob that allows people to automatically answer "yes" to the various prompts. Bug: https://crbug.com/gerrit/12368 Change-Id: I819ebca01b9a40240b33866ae05907c7469703e3 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/255892 Reviewed-by: David Pursehouse <dpursehouse@collab.net> Tested-by: Mike Frysinger <vapier@google.com>
-
- Feb 19, 2020
-
-
Mike Frysinger authored
Change-Id: I69ea2f3170ba17bfb9e0e3771db4ecc66a736797 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/255856 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: David Pursehouse <dpursehouse@collab.net>
-
Mike Frysinger authored
This allows users to specify custom hashtags when uploading, both via the CLI and via the same gitconfig settings as other upload options. Bug: https://crbug.com/gerrit/11174 Change-Id: Ia0959e25b463e5f29d704e4d06e0de793d4fc77c Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/255855 Reviewed-by: David Pursehouse <dpursehouse@collab.net> Tested-by: Mike Frysinger <vapier@google.com>
-
Mike Frysinger authored
For people used to running `repo xxx --help`, they might not realize that there are detailed man pages behind `repo help xxx`. Add a note to all --help commands to improve discoverability. Change-Id: I84af58aa0514cc7ead185f6c2534a8f88e09a236 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/255853 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: David Pursehouse <dpursehouse@collab.net>
-
Mike Frysinger authored
If we're not in --verbose mode with repo sync, then omit the per-project clone bundle progress bar. Bug: https://crbug.com/gerrit/11293 Change-Id: Ibdf3be86d35fcbccbf6788c192189f38c577e6e9 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/255854 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: David Pursehouse <dpursehouse@collab.net>
-
Mike Frysinger authored
The pager setting is tristate (where None means "auto"), so make sure we still handle that setting. Change-Id: I89fe352572dd15922c61e3bb65ac33f847d01ee0 Test: `repo help upload` triggers the pager Test: `repo -p help upload` triggers the pager Test: `repo --no-pager help upload` doesn't trigger the pager Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/255852 Tested-by: Mike Frysinger <vapier@google.com> Reviewed-by: David Pursehouse <dpursehouse@collab.net>
-