summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge changes I9c1ab65f,I7b2027aeDavid Pursehouse2018-03-162-3/+9
|\ | | | | | | | | | | * changes: init: Remove string concat in no-op os.path.join Support relative paths in --reference
| * init: Remove string concat in no-op os.path.joinSamuel Holland2018-01-221-1/+2
| | | | | | | | | | | | This also fixes a line length warning. Change-Id: I9c1ab65f83a35581dd657a707c7bc3c69db2b1dc
| * Support relative paths in --referenceSamuel Holland2018-01-222-2/+7
| | | | | | | | | | | | | | | | Put the correctly-expanded relative paths in objects/info/alternates. From gitrepository-layout(5), this path should be "relative to the object database, not to the repository". Change-Id: I7b2027ae23cf7d367b80f5a187603c4cbacdb2de
* | Add a way to override the revision of an <extend-project>Luis Hector Chavez2018-03-152-0/+7
| | | | | | | | | | | | | | | | This change adds support for the 'revision' attribute in <extend-project>. This avoids the need to perform a <remove-project> followed by a <project> in local manifests. Change-Id: Id2834fcfc1ae0d74b3347bed3618f250bf696b1f
* | Merge "implement optional 'sync-tags' in the manifest file"David Pursehouse2018-02-263-0/+34
|\ \
| * | implement optional 'sync-tags' in the manifest fileYOUNG HO CHA2018-02-143-0/+34
| |/ | | | | | | | | | | | | | | Allow the 'default' and 'project' element in the manifest file to apply "--no-tags" option equivalent. Change-Id: I7e0f8c17a0e25cca744d45df049076d203c52ff5 Signed-off-by: YOUNG HO CHA <ganadist@gmail.com>
* / Take care of a tilde on cookie file pathDaichi Ueura2018-02-261-2/+5
|/ | | | | | This handles cookie file path like "~/.gitcookies". Change-Id: I87ba120a940fff38073d520f83b70654e6a239ba
* event_log: Fix order of parameters to Add method callDavid Pursehouse2018-01-101-1/+1
| | | | Change-Id: I5add20eadfde39806ef4b2cc819da0ae0bfec2f5
* Sync correctly when subproject url is a relative url to its parent urlShouheng Zhang2017-12-211-0/+2
| | | | | | | | | | | Issue: when subproject url is a relative in .gitmodules repo tool cannot handle this and cause: "fatal: '***' does not appear to be a git repository fatal: Could not read from remote repository." issue. Signed-off-by: Shouheng Zhang <shouheng.zhang@intel.com> Change-Id: I2a24c291ea0074ba13a740b32a11c0c25975e72b
* Merge "Update commit-msg hook to version from Gerrit 2.14.6"David Pursehouse2017-12-071-2/+2
|\
| * Update commit-msg hook to version from Gerrit 2.14.6Dana Dahlstrom2017-12-061-2/+2
| | | | | | | | Change-Id: I14403fea4d017b97be5131e695803f121d404af2
* | Support --push-option in upload subcommandMasaya Suzuki2017-11-132-4/+16
| | | | | | | | Change-Id: I44836f8c66ded5a96cbf5431912e027e681f6529
* | document repo hooks mechanismMike Frysinger2017-11-102-0/+107
| | | | | | | | Change-Id: I9e25b92c846f887f515efcc706cf5a869645e0ec
* | forall: Clarify expansion of REPO_ environment values with -cDavid Pursehouse2017-10-311-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a user executes: repo forall -c echo $REPO_PROJECT then $REPO_NAME is expanded by the user's shell first, and passed as $1 to the shell that executes echo. This will either result in no output, or output of whatever REPO_NAME is set to in the user's shell. Either way, this is an unexpected result. The correct way to do it is: repo forall -c 'echo $REPO_PROJECT' such that $REPO_NAME is passed in to the shell literally, and then expanded to the value set in the environment that was passed to the shell. Update the documentation to make this clearer. Change-Id: I713caee914172ad8d8f0fafacd27026502436f0d
* | Set GIT_SSH_VARIANT when setting GIT_SSHJonathan Nieder2017-10-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it explicit that the ssh wrapper we use for control master support accepts OpenSSH-compatible command line arguments instead of asking Git to guess. The GIT_SSH_VARIANT setting was introduced in Git v2.13.0-rc0~3^2~2 (2017-02-01) as a more reliable detection method than relying on the ssh command name. Fortunately the default variant was 'ssh' (i.e., OpenSSH-compatible) so this wasn't initially required. Now Git wants to start using more OpenSSH features (-o SendEnv=GIT_PROTOCOL), and in order to do so its ssh variant detection will need to be tweaked. Set GIT_SSH_VARIANT explicitly so this helper can continue to work regardless of how Git modifies its autodetection. Reported-by: William Yan <wyan@google.com> Change-Id: I6bf2c53b4eb5303a429eae6cb68e0a5ccce89064
* | Provide more specific error message for symlinks errors on WindowsRenaud Paquay2017-08-311-2/+10
| | | | | | | | Change-Id: Ia6099beef37ae6b6143eba243fe7fbe02b74a9bb
* | Allow quotes in editor command on WindowsRenaud Paquay2017-08-311-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | This change allows setting the EDITOR env. variable to point to a program location that contains quotes and spaces. For example: > set EDITOR="C:\Program Files (x86)\Notepad++\notepad++.exe" -multiInst -nosession > repo upload Change-Id: Ic95b00f7443982b1956a2992d0220e50b1cf6bbb
* | Replace all os.remove callsRenaud Paquay2017-08-316-24/+43
| | | | | | | | | | | | | | | | os.remove raises an exception when deleting read-only files on Windows. Replace all calls with calls to platform_utils.remove, which deals with deals with that issue. Change-Id: I4dc9e0c9a36b4238880520c69f5075eca40f3e66
* | Support pager on WindowsRenaud Paquay2017-08-312-3/+38
| | | | | | | | | | | | | | | | | | Windows does not support pipe|fork, but we can simulate by creating the pager as a child process, redirecting stdout/in/err appropriately and then waiting for the child process to terminate after we are done executing the repo command. Change-Id: I5dd2bdeb4095e4d93bc678802e53c6d4eda0235b
* | Implement islink, readlink and realpath using Win32 apiRenaud Paquay2017-08-314-19/+227
| | | | | | | | Change-Id: I18452cbb32d24db73601ad10485dbe6bb278731c
* | Handle Windows line endings when reading binary filesRenaud Paquay2017-08-312-4/+4
| | | | | | | | | | | | | | | | | | Without this change, '.git\HEAD' files, for examples, are sometime read incorrectly resulting in the current branch to be reset to "master" when running a "repo init -b xxx" on an already initialized repository. Change-Id: I48c7ef85ff81626edf156914329a560e14252f2a
* | Merge "Fixed upload to remotes with the url ssh://hostname"David Pursehouse2017-08-301-2/+2
|\ \
| * | Fixed upload to remotes with the url ssh://hostnameChristian Koestlin2017-08-291-2/+2
| | | | | | | | | | | | Change-Id: I1d0dd4d3f90eac45205f6f4ca98a29b0babdbc3f
* | | Merge "Add option '--no-cert-checks' for 'upload' sub command."David Pursehouse2017-08-303-7/+20
|\ \ \
| * | | Add option '--no-cert-checks' for 'upload' sub command.Łukasz Gardoń2017-08-233-7/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This option allow to bypass verification ssl certification while establishing connection with Gerrit to upload review. Change-Id: If2e15f5a273c18a700eb5093ca8a4d5a4cbf80cd
* | | | Merge changes from topic "windows-support"David Pursehouse2017-08-309-59/+346
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | * changes: Port os.rename calls to work on Windows Workaround shutil.rmtree limitation on Windows Add support for creating symbolic links on Windows Make "git command" and "forall" work on Windows
| * | | Port os.rename calls to work on WindowsRenaud Paquay2017-05-292-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | os.rename fails on Windows if the destination exists, so replace os.rename to platform_utils.rename which handles the platform differences. Change-Id: I15a86f10f65eedee5b003b80f88a0c28a3e1aa48
| * | | Workaround shutil.rmtree limitation on WindowsRenaud Paquay2017-05-295-12/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default, shutil.rmtree raises an exception when deleting readonly files on Windows. Replace all shutil.rmtree with platform_utils.rmtree, which adds an error handler to make files read-write when they can't be deleted. Change-Id: I9cfea9a7b3703fb16a82cf69331540c2c179ed53
| * | | Add support for creating symbolic links on WindowsRenaud Paquay2017-05-294-4/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace all calls to os.symlink with platform_utils.symlink. The Windows implementation calls into the CreateSymbolicLinkW Win32 API, as os.symlink is not supported. Separate the Win32 API definitions into a separate module platform_utils_win32 for clarity. Change-Id: I0714c598664c2df93383734e609d948692c17ec5
| * | | Make "git command" and "forall" work on WindowsRenaud Paquay2017-05-293-41/+186
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Python on Windows does not support non blocking file operations. To workaround this issue, we instead use Threads and a Queue to simulate non-blocking calls. This is happens only when running with the native Windows version of Python, meaning Linux and Cygwin are not affected by this change. Change-Id: I4ce23827b096c5138f67a85c721f58a12279bb6f
* | | | When starting a branch, do not use a tag or change value for branch.mergeZac Livingston2017-08-253-12/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When starting a branch, branch.merge is set to project revision unless the revision is a SHA1. In that case, branch.merge is set to dest_branch if defined or manifest default revision otherwise. This special handling allows repo upload to work when the project revision is a SHA1. Extend the special handling to also happen when the project revision is a tag value or a change value so that repo upload will work in those case as well. Change-Id: Iff81ece40e770cd02535e80dcb023564d42dcf47
* | | | Print a message when fetching is skipped for an immutable refZac Livingston2017-08-251-4/+6
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | The output indicates that fetching happens even when it is skipped. To avoid confusion, print a message when fetching is skipped for an immutable ref so that the user knows when and why a fetch is skipped. Change-Id: Id6e4812cebc5e57d379feb76a9d034af0b93043b
* | | Revert "Migrate git-repo to create private changes rather than drafts"Jonathan Nieder2017-08-082-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d88f53e2b9634b9645f80b2d8e653beac24711fe. I merged it too hastily without paying enough attention to compatibility with released Gerrit versions. Change-Id: I4028d4737df1255f11e217da183a19a010597d5b
* | | Migrate git-repo to create private changes rather than draftsChangcheng Xiao2017-08-072-13/+4
| | | | | | | | | | | | | | | | | | | | | | | | Considering that some users might expect changes created with '-d' option are not public. Private changes may be a better choice here than work-in-progress changes. Change-Id: I46a8fb9ae38beb41cf96d6abe82bea6db2439669
* | | Add options for git-repo to support private and wip changesChangcheng Xiao2017-08-072-1/+23
| | | | | | | | | | | | | | | | | | | | | This change adds options for git-repo tool to support private changes and work-in-progress changes. Change-Id: I343491f5949f06f1580d53f9cc0dee2dca09130f
* | | Merge "download: try to choose . as default project if none"David Pursehouse2017-08-021-2/+3
|\ \ \
| * | | download: try to choose . as default project if noneNicolas Cornu2017-07-121-2/+3
| | | | | | | | | | | | | | | | Change-Id: I28b5e3be5f3c9a4c077af87d6a3e0cc3b96a1b9d
* | | | Merge "Always print percentage when syncing quietly"David Pursehouse2017-08-022-3/+6
|\ \ \ \
| * | | | Always print percentage when syncing quietlyTim Schumacher2017-07-152-3/+6
| |/ / / | | | | | | | | | | | | Change-Id: I574396e63520781067ed1e991c41caf7640e5731
* / / / Fix "list comprehension redefines 'x'" warnings from pyflakesDavid Pursehouse2017-07-103-6/+6
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | $ git ls-files | grep py$ | xargs pyflakes subcmds/stage.py:101: list comprehension redefines 'p' from line 63 subcmds/sync.py:784: list comprehension redefines 'p' from line 664 subcmds/upload.py:467: list comprehension redefines 'avail' from line 454 Change-Id: Ia65d1a72ed185ab3357e1a91ed4450c719e75a7c
* | | init: add missing submodule argMartin Kelly2017-07-102-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | The submodule argument to Sync_LocalHalf was missing in MetaBranchSwitch, causing submodules not to get synced when the -b/--manifest-branch argument to init is used. Change-Id: Ie86d271abac2020725770be36ead83be3326e64b Signed-off-by: Martin Kelly <mkelly@xevo.com>
* | | Tell the user if it will upload a draftNicolas Cornu2017-07-101-1/+2
| | | | | | | | | | | | Change-Id: Ie004ec9d61603f3f618c47597947b82c59f2839c
* | | Merge "Add a newline after "Fetching projects" progress output"David Pursehouse2017-06-282-4/+7
|\ \ \
| * | | Add a newline after "Fetching projects" progress outputTim Schumacher2017-06-132-4/+7
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Output before change: Fetching project platform/packages/providers/UserDictionaryProvider Fetching projects: 66% (773/1171) Fetching project platform/external/regex-re2 Fetching project device/generic/mini-emulator-x86_64 Output after change: Fetching project platform/packages/providers/UserDictionaryProvider Fetching projects: 66% (773/1171) Fetching project platform/external/regex-re2 Fetching project device/generic/mini-emulator-x86_64 Change-Id: I4da84da58316c69294e4da2792f83885dc942701
* / / sync: Continue job if some fetchs failed but force-broken is setNicolas Cornu2017-06-161-1/+1
|/ / | | | | | | | | | | | | With --force-broken it continue to fetch other projects but nothing is added in directory because it abort some lines later. Change-Id: I32c4a4619b3028893dc4f98e8d4e5bc5c09adb27
* | Ensure repo waits for child process to terminateRenaud Paquay2017-05-291-1/+5
| | | | | | | | | | | | | | | | | | | | See http://stackoverflow.com/questions/7004687/os-exec-on-windows: execv on Windows does not behave as on Linux, i.e. a new process is spawned and the parent process terminates right away, which makes the shell prompt come back too soon. Change-Id: I1f8d23208765988629f081e9b949c67cf71c08ae
* | Merge "init: allow relative path on --reference argument"David Pursehouse2017-05-291-1/+1
|\ \
| * | init: allow relative path on --reference argumentYOUNG HO CHA2017-05-281-1/+1
| | | | | | | | | | | | | | | Change-Id: I41d6be6bc035fdddb5a27c072994439986d58d58 Signed-off-by: YOUNG HO CHA <ganadist@gmail.com>
* | | sync: Add support to dump a JSON event log of all sync events.David Riley2017-05-296-13/+236
| | | | | | | | | | | | Change-Id: Id4852968ac1b2bf0093007cf2e5ca951ddab8b3b
* | | Fix misplaced file separator string.replace callRenaud Paquay2017-05-281-1/+1
| | | | | | | | | | | | | | | | | | | | | Project names are stored as path using the '/' file separator, and stored in a dictionary as keys. Change-Id: Ide40dfe840958ac0d46caae5f77f1a49d71c9d90