summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Raise a NoManifestException when the manifest DNE"Conley Owens2012-11-163-1/+14
|\
| * Raise a NoManifestException when the manifest DNEConley Owens2012-11-153-1/+14
| | | | | | | | | | | | | | | | | | When a command (eg, `repo forall`) expects the manifest project to exist, but there is no manifest, an IOException gets raised. This change defines a new Exception type to be raised in these cases and raises it when project.py fails to read the manifest. Change-Id: Iac576c293a37f7d8f60cd4f6aa95b2c97f9e7957
* | Better error message if 'remove-project' refers to non-existent projectDavid Pursehouse2012-11-161-3/+2
|/ | | | | | | | | | If a local manifest includes a 'remove-project' element that refers to a project that does not exist in the manifest, the error message is a bit cryptic. Change the error message to make it clearer what is wrong. Change-Id: I0b1043aaec87893c3128211d3a9ab2db6d600755
* Add option to abort on error in forallVictor Boivie2012-11-161-2/+13
| | | | | | | | | | Add a new option (-e, --abort-on-errors) which will cause forall to abort without iterating through remaining projects if a command exits unsuccessfully. Bug: Issue 17 Change-Id: Ibea405e0d98b575ad3bda719d511f6982511c19c Signed-off-by: Victor Boivie <victor.boivie@sonyericsson.com>
* Merge "Simplify error handling in subcommand execution"Conley Owens2012-11-141-16/+15
|\
| * Simplify error handling in subcommand executionConley Owens2012-11-141-16/+15
| | | | | | | | | | | | | | Instead of using a nested try (which repo is plagued with), use a single try when executing the appropriate subcommand. Change-Id: I32dbfc010c740c0cc42ef8fb6a83dfe87f87e54a
* | Sync help text in repo from init.pyDavid Pursehouse2012-11-151-2/+3
| | | | | | | | | | | | | | | | Change Ia6032865f9296b29524c2c25b72bd8e175b30489 improved the help text for the init command, but the same improvement was not made in repo. Change-Id: Idc34e479b5237137b90e8b040824776e4f7883b0
* | Add repo info commandOlof Johansson2012-11-152-0/+198
| | | | | | | | | | | | | | | | | | | | | | The info command will print information regarding the current manifest and local git branch. It will also show the difference of commits between the local branch and the remote branch. It also incorporates an overview command into info which shows commits over all branches. Change-Id: Iafedd978f44c84d240c010897eff58bbfbd7de71
* | Tidy up code formatting a bit moreDavid Pursehouse2012-11-1410-28/+28
| | | | | | | | | | | | | | | | | | | | | | | | Enable the following Pylint warnings: C0322: Operator not preceded by a space C0323: Operator not followed by a space C0324: Comma not followed by a space And make the necessary fixes. Change-Id: I74d74283ad5138cbaf28d492b18614eb355ff9fe
* | Fix inconsistent indentationDavid Pursehouse2012-11-149-228/+228
|/ | | | | | | | | | The repo coding style is to indent at 2 characters, but there are many places where this is not followed. Enable pylint warning "W0311: Bad indentation" and make sure all indentation is at multiples of 2 characters. Change-Id: I68f0f64470789ce2429ab11104d15d380a63e6a8
* Fix: "Statement seems to have no effect"David Pursehouse2012-11-142-2/+2
| | | | | | | | | | | | Pylint raises an error on the call: print Change it to: print() Change-Id: I507e1b3dd928fa6c32ea7e86260fb3d7b1428e6f
* Change print statements to work in python3Sarah Owens2012-11-1330-288/+310
| | | | | | This is part of a series of changes to introduce Python3 support. Change-Id: I373be5de7141aa127d7debdbce1df39148dbec32
* Convert prompt answers to lower case before checkingDavid Pursehouse2012-11-142-3/+3
| | | | | | | | When prompting for yes/no answers, convert the answer to lower case before comparing. This makes it easier to catch answers like "Yes", "yes", and "YES" with a comparison only for "yes". Change-Id: I06da8281cec81a7438ebb46ddaf3344d12abe1eb
* Minor documentation formatting and grammatical fixesDavid Pursehouse2012-11-141-3/+3
| | | | Change-Id: Iaac6377c787b3bb42242780e9d1116e718e0188d
* Fix documentation reference to local_manifest.xmlDavid Pursehouse2012-11-141-1/+1
| | | | | | | | | Documentation of the remove-project element still refers explicitly to local_manifest.xml. Change it to the more generic "a local manifest". Change-Id: I6278beab99a582fae26a4e053adc110362c714c2
* More code style cleanupDavid Pursehouse2012-11-142-6/+5
| | | | | | | | | Clean up a few more unnecessary usages of lambda in `repo` that were missed in the previous sweep that only considered files ending in .py. Remove a duplicate import. Change-Id: I03cf467a5630cbe4eee6649520c52e94a7db76be
* Remove magic hackDavid Pursehouse2012-11-142-18/+2
| | | | | | | | | | | | | It should be assumed that on modern development environments, python is accessible to /usr/bin/env Change the shebang as necessary and remove the magic hack. This also means losing the -E option on the call to python, so that PYTHONPATH and PYTHONHOME will be respected and local configuration problems in those vars would be noticed Change-Id: I6f0708ca7693f05a4c3621c338f03619563ba630
* Make load order of local manifests deterministicDavid Pursehouse2012-11-142-1/+7
| | | | | | | | | | | Local manifest files stored in the local_manifests folder are loaded in alphabetical order, so it's easier to know in which order project removals/additions/modifications will be applied. If local_manifests.xml exists, it will be loaded before the files in local_manifests. Change-Id: Ia5c0349608f1823b4662cd6b340b99915bd973d5
* Merge "Print an error message when aborted by user"Conley Owens2012-11-121-0/+1
|\
| * Print an error message when aborted by userDavid Pursehouse2012-11-131-0/+1
| | | | | | | | Change-Id: If7378c5deaace0ac6ab2be961e38644d9373557d
* | Merge "Handle manifest parse errors in main"Conley Owens2012-11-121-0/+4
|\|
| * Handle manifest parse errors in mainDavid Pursehouse2012-11-131-0/+4
| | | | | | | | | | | | | | | | Add handling of manifest parse errors in the main method, and print an error. This will prevent python tracebacks being dumped in many cases. Change-Id: I75e73539afa34049f73c993dbfda203f1ad33b45
* | Merge "Better handling of duplicate remotes"Conley Owens2012-11-121-5/+14
|\|
| * Better handling of duplicate remotesDavid Pursehouse2012-11-131-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In the current implementation, an error is raised if a remote with the same name is defined more than once. The check is only that the remote has the same name as an existing remote. With the support for multiple local manifests, it is more likely than before that the same remote is defined in more than one manifest. Change the check so that it only raises an error if a remote is defined more than once with the same name, but different attributes. Change-Id: Ic3608646cf9f40aa2bea7015d3ecd099c5f5f835
* | Merge "Change usages of xrange() to range()"Conley Owens2012-11-124-4/+4
|\ \ | |/ |/|
| * Change usages of xrange() to range()Sarah Owens2012-11-014-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | In Python3, range() creates a generator rather than a list. None of the parameters in the ranges changed looked large enough to create an impact in memory in Python2. Note: the only use of range() was for iteration and did not need to be changed. This is part of a series of changes to introduce Python3 support. Change-Id: I50b665f9296ea160a5076c71f36a65f76e47029f
* | Print deprecation warning when local_manifest.xml is usedDavid Pursehouse2012-11-132-1/+5
| | | | | | | | | | | | | | | | The preferred way to specify local manifests is to drop the file(s) in the local_manifests folder. Print a deprecation warning when the legacy local_manifest.xml file is used. Change-Id: Ice85bd06fb612d6fcceeaa0755efd130556c4464
* | Add support for multiple local manifestsDavid Pursehouse2012-11-132-7/+26
| | | | | | | | | | | | | | | | | | Add support for multiple local manifests stored in the local_manifests folder under the .repo home directory. Local manifests will be processed in addition to local_manifest.xml. Change-Id: Ia0569cea7e9ae0fe3208a8ffef5d9679e14db03b
* | Handle XML errors when parsing the manifestDavid Pursehouse2012-11-131-1/+5
| | | | | | | | | | | | | | Catch ExpatError and exit gracefully with an error message, rather than exiting with a python traceback. Change-Id: Ifd0a7762aab4e8de63dab8a66117170a05586866
* | Merge "Always show --manifest-server-* options"Conley Owens2012-11-071-6/+6
|\ \
| * | Always show --manifest-server-* optionsConley Owens2012-11-061-6/+6
| |/ | | | | | | | | | | | | | | | | The --manifest-server-* flags broke the smartsync subcmd since the corresponding variables weren't getting set. This change ensures that they will always be set, regardless of whether we are using sync -s or smartsync. Change-Id: I1b642038787f2114fa812ecbc15c64e431bbb829
* / Fix pylint warning W0108: Lambda may not be necessaryDavid Pursehouse2012-11-074-9/+8
|/ | | | | | Remove unnecessary usage of lambda. Change-Id: I06d41933057d60d15d307ee800cca052a44754c6
* Merge "Use python3 urllib when urllib2 not available"Conley Owens2012-11-013-28/+59
|\
| * Use python3 urllib when urllib2 not availableSarah Owens2012-10-313-28/+59
| | | | | | | | | | | | This is part of a series of changes to introduce Python3 support. Change-Id: I605b145791053c1f2d7bf3c907c5a68649b21d12
* | Merge "Use 'stat' package instead of literals for mkdir()"Conley Owens2012-11-011-1/+2
|\ \
| * | Use 'stat' package instead of literals for mkdir()Sarah Owens2012-10-311-1/+2
| | | | | | | | | | | | | | | | | | This is part of a series of changes to introduce Python3 support. Change-Id: Ic988ad181d32357d82dfa554e70d8525118334c0
* | | project: Require git >= 1.7.2 for setting config on command lineDave Borowitz2012-10-311-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This option causes the git call to fail, which probably indicates a programming error; callers should check the git version and change the call appropriately if -c is not available. Failing loudly is preferable to failing silently in the general case. For an example of correctly checking at the call site, see I8fd313dd. If callers prefer to fail silently, they may set GIT_CONFIG_PARAMETERS in the environment rather than using the config kwarg to pass configuration. Change-Id: I0de18153d44d3225cd3031e6ead54461430ed334
* | | sync: Only parallelize gc for git >= 1.7.2Dave Borowitz2012-10-311-2/+3
| |/ |/| | | | | | | | | | | | | | | This minimum version is required for the -c argument to set config on the command line. Without this option, git by default uses as many threads per invocation as there are CPUs, so we cannot safely parallelize without hosing a system. Change-Id: I8fd313dd84917658162b5134b2d9aa34a96f2772
* | Even more coding style cleanupDavid Pursehouse2012-10-3012-24/+24
| | | | | | | | | | | | | | | | | | | | | | Fixing some more pylint warnings: W1401: Anomalous backslash in string W0623: Redefining name 'name' from outer scope W0702: No exception type(s) specified E0102: name: function already defined line n Change-Id: I5afcdb4771ce210390a79981937806e30900a93c
* | Merge "Update minimum git version to 1.7.2"Shawn Pearce2012-10-261-2/+2
|\ \
| * | Update minimum git version to 1.7.2Conley Owens2012-10-261-2/+2
| | | | | | | | | | | | | | | | | | We now use the -c flag which was introduced in git 1.7.2. Change-Id: I9195c0f6ac9fa63e783a03628049fe2c67d258ff
* | | Merge "Revert "Represent git-submodule as nested projects""Shawn O. Pearce2012-10-265-340/+55
|\ \ \
| * | | Revert "Represent git-submodule as nested projects"v1.11.1Shawn O. Pearce2012-10-265-340/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 69998b0c6ff724bf620480140ccce648fec7d6a9. Broke Android's non-gitmodule use case. Conflicts: project.py subcmds/sync.py Change-Id: I68ceeb63d8ee3b939f85a64736bdc81dfa352aed
* | | | Merge "repo selfupdate: Fix _PostRepoUpgrade takes 2 arguments"Shawn O. Pearce2012-10-261-3/+3
|\| | | | |/ / |/| |
| * | repo selfupdate: Fix _PostRepoUpgrade takes 2 argumentsShawn O. Pearce2012-10-261-3/+3
| | | | | | | | | | | | Change-Id: I1cf9e0674ea366ddce96c949e0bc085e3452b25a
* | | Merge "Show user about not initializing repo in current directory"Conley Owens2012-10-261-7/+16
|\ \ \ | |/ / |/| |
| * | Show user about not initializing repo in current directoryYang Zhenhui2012-10-261-7/+16
| |/ | | | | | | | | | | | | | | | | | | | | | | | | If the parent of current directory has an initialized repo, for example, if the current directory is '/home/users/harry/platform/ics', and there is an initialized repo in harry's home directory '/home/users/harry/.repo', when user run 'repo init' command, repo is always initialized to parent directory in '/home/users/harry/.repo', but most of time user intends to initialize repo in the current directory, this patch tells user how to do it. Change-Id: Id7a76fb18ec0af243432c29605140d60f3de85ca
* | Add a PGP key for cco3@android.comv1.11.0Conley Owens2012-10-261-1/+33
| | | | | | | | | | | | This change adds a PGP key to allow cco3@android.com to sign releases. Change-Id: I18a70c8b7d8f272dd1aad9d6b2e4a237ef35af33
* | Update PGP keys during _PostRepoUpgrade in `sync`Conley Owens2012-10-253-18/+22
|/ | | | | | | | Previously, if a key was added, a client wouldn't add the key during the sync step. This would cause issues if a new key were added and a subsequent release were signed by that key. Change-Id: I4fac317573cd9d0e8da62aa42e00faf08bfeb26c
* Merge "sync: Run gc --auto in parallel"Shawn Pearce2012-10-251-2/+53
|\