summaryrefslogtreecommitdiffstats
path: root/subcmds
Commit message (Collapse)AuthorAgeFilesLines
* repo: Add option review.URL.uploadtopic supportv1.9.2Anthony Russello2012-06-051-0/+13
| | | | | | | | | | | | This patch adds the option to include topic branches by adding the following to a .gitconfig file: uploadtopic = true This option is only read in when the -t option is not already specified at the command line. Change-Id: I0e0eea49438bb4e4a21c2ac5bd498b68b5a9a845
* repo download: add --ff-only optionPierre Tardy2012-05-241-0/+5
| | | | | | | | | | | | | | | | Allows to ff-only a gerrit patch This patch is necessary to automatically ensure that the patch will be correctly submitted on ff-only gerrit projects You can now use: repo download (--ff-only|-f) project changeid/patchnumber This is useful to automate verification of fast forward status of a patch in the context of build automation, and commit gating (e.g. buildbot) Change-Id: I403a667557a105411a633e62c8eec23d93724b43 Signed-off-by: Erwan Mahe <erwan.mahe@intel.com> Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
* repo download: add --revert optionErwan Mahe2012-05-241-1/+6
| | | | | | | | | | | | | | | | | BZ: 4779 Allows to revert a gerrit patch This patch is necessary for the on-demand creation of engineering builds using buildbot You can now use: repo download [--revert|-r project changeid/patchnumber This is useful to automate reverting of a patch in the context of build automation, and regression bisection Change-Id: I3985e80e4b2a230f83526191ea1379765a54bdcf Signed-off-by: Erwan Mahe <erwan.mahe@intel.com> Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
* repo download: add --cherry-pick optionPierre Tardy2012-05-241-2/+7
| | | | | | | | | | | | | | | | | | default option uses git checkout, and thus overwrite the previous checkouts. this is a problem for automated builds of several changesets in the same project for daily builds of pending submission You can now use: repo download [--cherry-pick|-c] project changeid/patchnumber This will parse the manifest, cd to the corresponding project download the changes to FETCH_HEAD and cherry-pick the result. This is useful to automate cherry-picking of a patch in the context of build automation, and commit gating (e.g. buildbot) Change-Id: Ib638afd87677f1be197afb7b0f73c70fb98909fe Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
* Avoid failing concat for multi-encoding filenamesCezary Baginski2012-05-241-2/+9
| | | | | | | | repo status should output filenames one by one instead of trying to build a string from incompatible encodings (like utf-8 and sjis filenames) Change-Id: I52282236ececa562f109f9ea4b2e971d2b4bc045
* Fix syntax errors in subcmds/init.pyColin Cross2012-04-231-3/+2
| | | | | | | | | Fixes three errors: Python doesn't like the line wrap after 'and'. platform.system is a function, needs to be platform.system(). Typo all_platfroms instead of all_platforms. Change-Id: Ia875e521bc01ae2eb321ec62d839173c00f86c2d
* Add a --platform flagConley Owens2012-04-231-1/+22
| | | | | | | | | | Projects may optionally specify their platform (eg, groups="platform-linux" in the manifest). By default, repo will automatically detect the platform. However, users may specify --platform=[auto|all|linux|darwin]. Change-Id: Ie678851fb2fec5b0938aede01f16c53138a16537
* Refine groups functionalityConley Owens2012-04-231-2/+8
| | | | | | | | | | | | | | | Every project is in group "default". "-default" does not remove it from this project. All group names specified in the manifest are positive names as opposed to a mix of negative and positive. Specified groups are resolved in order. If init is supplied with --groups="group1,-group2", the following describes the project selection when syncing: * all projects in "group1" will be added, and * all projects in "group2" will be removed. Change-Id: I1df3dcdb64bbd4cd80d675f9b2d3becbf721f661
* Add project annotation handling to repoJames W. Mills2012-04-231-0/+7
| | | | | | | | | | | | | | Allow the optional addition of "annotation" nodes nested under projects. Each annotation node must have "name" and "value" attributes. These name/value pairs will be exported into the environment during any forall command, prefixed with "REPO__" In addition, an optional "keep" attribute with case insensitive "true" or "false" values can be included to determine whether the annotation will be exported with 'repo manifest' Change-Id: Icd7540afaae02c958f769ce3d25661aa721a9de8 Signed-off-by: James W. Mills <jameswmills@gmail.com>
* Add manifest groupsv1.8.2Colin Cross2012-04-132-2/+9
| | | | | | | | | | | | | | | | | Allows specifying a list of groups with a -g argument to repo init. The groups act on a group= attribute specified on projects in the manifest. All projects are implicitly labelled with "default" unless they are explicitly labelled "-default". Prefixing a group with "-" removes matching projects from the list of projects to sync. If any non-inverted manifest groups are specified, the default label is ignored. Change-Id: I3a0dd7a93a8a1756205de1d03eee8c00906af0e5 Reviewed-on: https://gerrit-review.googlesource.com/34570 Reviewed-by: Shawn Pearce <sop@google.com> Tested-by: Shawn Pearce <sop@google.com>
* Option for 'repo diff' to generate output suitable for 'patch' cmdpelya2012-04-131-1/+14
| | | | | | | | | | | | | | The -u option causes 'repo diff' to generate diff output with file paths relative to the repository root, so the output can be applied to the Unix 'patch' command. The name '-u' was selected for convenience, because both 'diff' and 'git diff' accept the option with the same name to generate an 'unified diff' output suitable for 'patch' command. Change-Id: I79c8356db4ed20ecaccc258b3ba139db76666fe0 Reviewed-on: https://gerrit-review.googlesource.com/34380 Reviewed-by: Shawn Pearce <sop@google.com> Tested-by: Shawn Pearce <sop@google.com>
* New flag for repo upload: --current_branch (--cbr)Daniel Sandler2012-04-061-1/+8
| | | | | | | | | | A convenient equivalent to `repo upload --br=<current git branch>`. Note that the head branch will be selected for each project uploaded by repo, so different branches may be uploaded for different projects. Change-Id: I10ad8ceaa63f055105c2d847c6e329fa4226dbaf
* sync: --no-clone-bundle disables the clone bundle supportv1.8.0Shawn O. Pearce2012-03-141-2/+13
| | | | Change-Id: Ia9ed7da8451b273c1be620c3dd0dcad777b29096
* repo status to print project name on clean gitsAli Utku Selen2012-03-121-13/+0
| | | | | | | | | | repo status just prints "# on branch oprofile" if you have branched in clean status. This doesn't really tell which branch is meant. Instead we can use the same syntax with modified gits which will give us detailed information. Change-Id: I55fe5154d278e10a814281dd2ba501ec6e956730
* sync: Add manifest_name parameterChris Wolfe2012-01-261-0/+12
| | | | | | | | | | | | This parameter changes the manifest used by 'repo sync' for only this execution. It should be useful for developers wishing to get the repo temporarily into a known state, without clobbering their existing manifest. Tested by shifting Chrome OS between minilayout and full, and between several release-builder-generated manifests. Change-Id: I14194b665195b0e78f368d9ec8b8a83227af2627
* Revert "Default repo manifest settings in git config"v1.7.8.1Shawn O. Pearce2011-11-301-36/+3
| | | | | | | This reverts commit ee1c2f5717fcc137ab887a4aae8a08d50a539b9a. This breaks a lot of buildbot systems. Rolling it back for now until we can understand what the breakage was and how to fix it.
* Describe the repo launch version in `repo version`Shawn O. Pearce2011-11-291-0/+8
| | | | | | | | | | | | repo version v1.7.8 (from https://android.googlesource.com/tools/repo.git) repo launcher version 1.14 (from /home/sop/bin/repo) git version 1.7.8.rc2.256.gcc761 Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41) [GCC 4.4.3] Change-Id: Ifcbe5b0e226a1a6ca85455eb62e4da5e9a0f0ca0
* Don't prompt the user for name/email unless necessaryVictor Boivie2011-11-291-1/+26
| | | | | | | | | | | | If the user has already configured a workspace, use these values when re-running 'repo init'. Otherwise, if the user has global name and e-mail set, use these. It's always possible to override this and be prompted by specifying --config-name when running 'repo init'. Change-Id: If45f0e4b14884071439fb02709dc5cb53f070f60
* Default repo manifest settings in git configVictor Boivie2011-11-291-3/+36
| | | | | | | | | | | | | | | | | | | | | | A default manifest URL can be specified using: git config --global repo-manifest.<id>.url <url> A default manifest server can be specified using: git config --global repo-manifest.<id>.server <url> A default git mirror reference can be specified using: git config --global repo-manifest.<id>.reference <path> This will allow the user to use 'repo init -u <id>' as a shorter alternative to specifying the full URL. Also, manifest server will not have to be specified in the manifest XML and the reference will not have to be specified on the command line. If they are, they will override these default values however. Change-Id: Ifdbc160bd5909ec7df9efb0c5d7136f1d9351754 Signed-off-by: Victor Boivie <victor.boivie@sonyericsson.com>
* Added remote destination branch information when uploading.Christer Fletcher2011-11-291-3/+4
| | | | | | | | | | Several times one have done an upload only to later notice in gerrit that the upload was done to the wrong branch as the git has not yet been branched for the current git. This change will make repo print what the destination branch is when asking the user if she wants to go through with the upload. Change-Id: Ia9c3a92a6a04c022edfebf4f8d651ac062bb1f3b
* repo: capitalize default prompt charMike Frysinger2011-11-292-5/+5
| | | | | | | | | It is common in command line tools to indicate what the default answer will be if the user simply hits enter. In repo, the display is just "y/n" with no indication as to which is the default. So change the n to N in the messages since that is how repo operates. Change-Id: I81819ae630355072eb0365e59168b0921289498f
* Fixed UnicodeDecodeError while uploading changes.chenguodong2011-11-291-0/+5
| | | | | | | | | | | | | | | When commit with comment that has non-ASCII characters, UnicodeDecodeError will be raised while uploading multiple project/branch changes. Because some strings in script are not str type, but unicode. So all the strings are decoded to unicode, and python use ascii to do this, it can not decode non-ASCII characters, so UnicodeDecodeError raised. Signed-off-by: chenguodong <chenguodong@huawei.com> Change-Id: I46447f489a4b9760a5899c7ba9d764b688594e46
* Add a sync flag that fetches only current branchAnatol Pomazau2011-11-031-3/+9
| | | | | | | | | | | There is also shortcuts in case if the "current branch" is a persistent revision such as tag or sha1. We check if the persistent revision is present locally and if it does - do no fetch anything from the server. This greately reduces sync time and size of the on-disk repo Change-Id: I23c6d95185474ed6e1a03c836a47f489953b99be
* help: Fix help syncShawn O. Pearce2011-10-111-0/+1
| | | | | | | | help sync crashed as sync required the manifest to be configured to create the option parser, as the default number of jobs is required. Change-Id: Ie75e8d75ac0e38313e4aab451cbb24430e84def5 Signed-off-by: Shawn O. Pearce <sop@google.com>
* Fix Python 2.4 supportShawn O. Pearce2011-10-111-8/+4
| | | | | Change-Id: I89521ae52fa564f0d849cc51e71fee65b3c47bab Signed-off-by: Shawn O. Pearce <sop@google.com>
* sync: Support downloading bundle to initialize repositoryv1.7.7Shawn O. Pearce2011-09-281-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | An HTTP (or HTTPS) based remote server may now offer a 'clone.bundle' file in each repository's Git directory. Over an http:// or https:// remote repo will first ask for '$URL/clone.bundle', and if present download this to bootstrap the local client, rather than relying on the native Git transport to initialize the new repository. Bundles may be hosted elsewhere. The client automatically follows a HTTP 302 redirect to acquire the bundle file. This allows servers to direct clients to cached copies residing on content delivery networks, where the bundle may be closer to the end-user. Bundle downloads are resumeable from where they last left off, allowing clients to initialize large repositories even when the connection gets interrupted. If a bundle does not exist for a repository (a HTTP 404 response code is returned for '$URL/clone.bundle'), the native Git transport is used instead. If the client is performing a shallow sync, the bundle transport is not used, as there is no way to embed shallow data into the bundle. Change-Id: I05dad17792fd6fd20635a0f71589566e557cc743 Signed-off-by: Shawn O. Pearce <sop@google.com>
* sync: Update default -j flag from manifestShawn O. Pearce2011-09-261-1/+2
| | | | | | | | | If the manifest is updated and the default sync-j attribute was modified, honor it during this sync session if the user has not supplied a -j flag on the command line. Change-Id: I127ee5c779e2bbbb40b30bddc10ec1fa704b3bf3 Signed-off-by: Shawn O. Pearce <sop@google.com>
* sync: Allow -j to have a default in manifestv1.7.6Shawn O. Pearce2011-09-221-1/+4
| | | | | | | | | | | | | This permits manifest authors to suggest a number of parallel fetch operations against a remote server. For example, Gerrit Code Review servers support queuing of requests and processes them in first-in, first-out order. Running concurrent fetches can utilize multiple CPUs on the Gerrit server, but will also decrease overall operation latency by having the request put into the queue ready to execute as soon as a CPU is free. Change-Id: I3d3904acb6f63516bae4b071c510ad57a2afab18 Signed-off-by: Shawn O. Pearce <sop@google.com>
* sync: Limit -j to file descriptorsShawn O. Pearce2011-09-221-0/+12
| | | | | | | | | | | Each worker thread requires at least 3 file descriptors to run the forked 'git fetch' child to operate against the local repository. Mac OS X has the RLIMIT_NOFILE set to 256 by default, which means a sync -j128 often fails when the workers run out of pipes within the Python parent process. Change-Id: I2cdb14621b899424b079daf7969bc8c16b85b903 Signed-off-by: Shawn O. Pearce <sop@google.com>
* Smart tag supportVictor Boivie2011-07-201-15/+23
| | | | | | | | | This is an evolution of 'smart-sync' that adds a new option, -t, that allows you to specify a tag/label to use instead of the "latest good build" on the current manifest branch which -s does. Signed-off-by: Victor Boivie <victor.boivie@sonyericsson.com> Change-Id: I8c20fd91104a6aafa0271d4d33f6c4850aade17e
* Add a --depth option to repo init.v1.7.5Doug Anderson2011-06-091-0/+24
| | | | Change-Id: Id30fb4a85f4f8a1847420b0b51a86060041eb5bf
* Add branch support to repo uploadMandeep Singh Baines2011-05-261-1/+8
| | | | | | | | | | | | | | | | This commit adds a --br=<branch> option to repo upload. repo currently examines every non-published branch. This is problematic for my workflow. I have many branches in my kernel tree. Many of these branches are based off of upstream remotes (I have many remotes) and will never be uploaded (they'll get sent upstream as a patch). Having repo scan these branches adds to my upload processing time and clutters the branch selection buffer. I've also seen repo get confused when one of my branches is 1000s of commits different from m/master. Change-Id: I68fa18951ea59ba373277b57ffcaf8cddd7e7a40
* Added repo cherry-pick commandv1.7.4.3Victor Boivie2011-04-071-0/+114
| | | | | | | | | | | | | | | | | | It is undesired to have the same Change-Id:-line for two separate commits, and when cherry-picking, the user must manually change it. If this is not done, bad things may happen (such as when the user is uploading the cherry-picked commit to Gerrit, it will instead see it as a new patch-set for the original change, or worse). repo cherry-pick works the same was as git cherry-pick, except that it replaces the Change-Id with a new one and adds a reference back to the commit from where it was picked. On failures (when git can not successfully apply the cherry-picked commit), instructions will be written to the user. Change-Id: I5a38b89839f91848fad43386d43cae2f6cdabf83
* Fixed repo checkout error message when git reports errors.Doug Anderson2011-04-071-9/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the current version of repo checkout, we often get the error: error: no project has branch xyzzy ...even when the actual error was something else. This fixes it to only report the 'no project has branch' when that is actually true. This fix is very similar to one made for 'repo abandon': https://review.source.android.com/#change,22207 The repo checkout error is filed as: <http://crosbug.com/6514> TEST=manual A sample creating a case where 'git checkout' will fail: $ repo start branch1 . $ repo start branch2 . $ touch bogusfile $ git add bogusfile $ git commit -m "create bogus file" [branch2 f8b6b08] create bogus file 0 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 bogusfile $ echo "More" >> bogusfile $ repo checkout branch1 . error: chromite/: cannot checkout branch1 A sample case showing that we still fail if no project has a branch: $ repo checkout xyzzy . error: no project has branch xyzzy Change-Id: I48a8e258fa7a9c1f2800dafc683787204bbfcc63
* Fixed problems w/ 2nd repo init if first repo init had bad URL.Doug Anderson2011-04-071-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the simplest fix: if we had problems syncing the manifest.git directory and we were the ones that created it, we should delete it. This doesn't try to do anything complex like try to recover from a .repo directory that got broken in some other way. This is filed as: <http://crosbug.com/13403> TEST=manual Init once with a bad URL: $ repo init -u http://foobar.example.com Getting manifest ... from http://foobar.example.com Connection closed by 172.22.121.77 error: Couldn't resolve host 'foobar.example.com' while accessing http://foobar.example.com/info/refs fatal: HTTP request failed fatal: cannot obtain manifest http://foobar.example.com Init again: identical to the first. Good: $ repo init -u http://foobar.example.com Getting manifest ... from http://foobar.example.com Connection closed by 172.22.121.77 error: Couldn't resolve host 'foobar.example.com' while accessing http://foobar.example.com/info/refs fatal: HTTP request failed fatal: cannot obtain manifest http://foobar.example.com Init with correct URL: $ repo init -u http://git.chromium.org/git/manifest -m minilayout.xml Getting manifest ... from http://git.chromium.org/git/manifest [ ... cut ... ] repo initialized in /.../repoiniterr Try a bad URL after a good one; it doesn't get saved (good): $ repo init -u http://foobar.example.com Connection closed by 172.22.121.77 error: Couldn't resolve host 'foobar.example.com' while accessing http://foobar.example.com/info/refs fatal: HTTP request failed fatal: cannot obtain manifest http://foobar.example.com Just to confirm, I can still do a good one after a bad... $ repo init -u http://git.chromium.org/git/manifest -m minilayout.xml Your Name [George Washington]: Your Email [george@washington.example.com]: Your identity is: George Washington <george@washington.example.com> is this correct [y/n]? y repo initialized in /.../repoiniterr Change-Id: I1692821a330d97b1d218b2e191a93245b33f2362
* Fixed repo abandon to give better messages.Doug Anderson2011-04-071-9/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main fix is to give an error message if nothing was actually abandoned. See <http://crosbug.com/6041>. The secondary fix is to list projects where the abandon happened. This could be done in a separate CL or dropped altogether if requested. TEST=manual $ repo abandon dougabc; echo $? Abandon dougabc: 100% (127/127), done. Abandoned in 2 project(s): chromite src/platform/init 0 $ repo abandon dougabc; echo $? Abandon dougabc: 100% (127/127), done. error: no project has branch dougabc 1 $ repo abandon dougabc; echo $? Abandon dougabc: 100% (127/127), done. error: chromite/: cannot abandon dougabc 1 Change-Id: I79520cc3279291acadc1a24ca34a761e9de04ed4
* Add option to check status of projects in parallel.Terence Haddock2011-04-071-6/+58
| | | | Change-Id: I6ac653f88573def8bb3d96031d3570ff966251ad
* Fix parallel sync on python < 2.6.Daniel Sandler2011-04-041-2/+2
| | | | | | | | Event.isSet was renamed to is_set in 2.6, but we should use the earlier syntax to avoid breaking compatibility with older Python installations. Change-Id: I41888ed38df278191d7496c1a6eed15e881733f4
* sync: Fix syntax error on Python 2.4v1.7.4.2Shawn O. Pearce2011-03-221-22/+23
| | | | | Change-Id: I371d032d5a1ddde137721cbe2b24bfa38f20aaaa Signed-off-by: Shawn O. Pearce <sop@google.com>
* Make 'repo sync -jN' exit with an error code in the case of sync errors.Doug Anderson2011-03-171-14/+70
| | | | | | | | | | | | The bug that this is fixing is described here: http://code.google.com/p/chromium-os/issues/detail?id=6813 This fix allows the helper threads to signal the main thread that they saw an error. When the main thread sees the error, it will let all existing threads finish, then exit with an error. Change-Id: If3019bc6b0b3ab9304d49ed2eea53e9d57f3095a
* Add 'list' command to repo.Doug Anderson2011-03-161-0/+48
| | | | | | | This isn't a required command, but might be more discoverable for repo newbies? Change-Id: If357346f234774d42e04e024e65acdaf6dca6c62
* Support repo-level pre-upload hook and prep for future hooks.v1.7.4Doug Anderson2011-03-111-6/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All repo-level hooks are expected to live in a single project at the top level of that project. The name of the hooks project is provided in the manifest.xml. The manifest also lists which hooks are enabled to make it obvious if a file somehow failed to sync down (or got deleted). Before running any hook, we will prompt the user to make sure that it is OK. A user can deny running the hook, allow once, or allow "forever" (until hooks change). This tries to keep with the git spirit of not automatically running anything on the user's computer that got synced down. Note that individual repo commands can add always options to avoid these prompts as they see fit (see below for the 'upload' options). When hooks are run, they are loaded into the current interpreter (the one running repo) and their main() function is run. This mechanism is used (instead of using subprocess) to make it easier to expand to a richer hook interface in the future. During loading, the interpreter's sys.path is updated to contain the directory containing the hooks so that hooks can be split into multiple files. The upload command has two options that control hook behavior: - no-verify=False, verify=False (DEFAULT): If stdout is a tty, can prompt about running upload hooks if needed. If user denies running hooks, the upload is cancelled. If stdout is not a tty and we would need to prompt about upload hooks, upload is cancelled. - no-verify=False, verify=True: Always run upload hooks with no prompt. - no-verify=True, verify=False: Never run upload hooks, but upload anyway (AKA bypass hooks). - no-verify=True, verify=True: Invalid Sample bit of manifest.xml code for enabling hooks (assumes you have a project named 'hooks' where hooks are stored): <repo-hooks in-project="hooks" enabled-list="pre-upload" /> Sample main() function in pre-upload.py in hooks directory: def main(project_list, **kwargs): print ('These projects will be uploaded: %s' % ', '.join(project_list)) print ('I am being a good boy and ignoring anything in kwargs\n' 'that I don\'t understand.') print 'I fail 50% of the time. How flaky.' if random.random() <= .5: raise Exception('Pre-upload hook failed. Have a nice day.') Change-Id: I5cefa2cd5865c72589263cf8e2f152a43c122f70
* help: Don't show empty Summary or Description sectionsShawn O. Pearce2011-01-091-0/+2
| | | | | Signed-off-by: Shawn O. Pearce <sop@google.com> (cherry picked from commit 60e679209a5495393ef584efaaad287fc8b77c51)
* sync: Run `git gc --auto` after fetchShawn O. Pearce2011-01-092-0/+3
| | | | | | | | | | | | | Users may wind up with a lot of loose object content in projects they don't frequently make changes in, but that are modified by others. Since we bypass many git code paths that would have otherwise called out to `git gc --auto`, its possible for these projects to have their loose object database grow out of control. To help prevent that, we now invoke it ourselves during the network half of sync. Signed-off-by: Shawn O. Pearce <sop@google.com> (cherry picked from commit 1875ddd47c0bf38e5cc52e1e5875caabce2d8742)
* upload: Catch and cleanly report connectivity errorsShawn O. Pearce2011-01-091-3/+7
| | | | | | | | | | | Instead of giving a Python backtrace when there is a connectivity problem during repo upload, report that we cannot access the host, and why, with a halfway decent error message. Bug: REPO-45 Change-Id: I9a45b387e86e48073a2d99bd6d594c1a7d6d99d4 Signed-off-by: Shawn O. Pearce <sop@google.com> (cherry picked from commit d2dfac81ad6a060179b4b2289060af2dc7a5cdfd)
* forall: Silently skip missing projectsShawn O. Pearce2011-01-091-0/+6
| | | | | | | | | | If a project is missing locally, it might be OK to skip over it and continue running the same command in other projects. Bug: REPO-43 Change-Id: I64f97eb315f379ab2c51fc53d24ed340b3d09250 Signed-off-by: Shawn O. Pearce <sop@google.com> (cherry picked from commit d4cd69bdef28c5a9287c85c48a18ce621eba689d)
* Fix to display the usage message of the command download when the userThiago Farina2011-01-091-0/+3
| | | | | | | don't provide any arguments to 'repo download'. Signed-off-by: Thiago Farina <thiago.farina@gmail.com> (cherry picked from commit 840ed0fab7cb4c2ab296c7d7d45f13e2523bae1c)
* Encode the environment variables passed to gitShawn O. Pearce2011-01-092-6/+6
| | | | | | | | Windows allows the environment to have unicode values. This will cause Python to fail to execute the command. Change-Id: I37d922c3d7ced0d5b4883f0220346ac42defc5e9 Signed-off-by: Shawn O. Pearce <sop@google.com>
* Added feature to print a <notice> from manifest at the end of a sync.v1.7.1Doug Anderson2010-11-011-0/+5
| | | | | | | | | | | | | | | | | | | | | | | This feature is used to convey information on a when a branch has ceased development or if it is an experimental branch with a few gotchas, etc. You add it to your manifest XML by doing something like this: <manifest> <notice> NOTE TO DEVELOPERS: If you checkin code, you have to pinky-swear that it contains no bugs. Anyone who breaks their promise will have tomatoes thrown at them in the team meeting. Be sure to bring an extra set of clothes. </notice> <remote ... /> ... </manifest> Carriage returns and indentation are relevant for the text in this tag. This feature was requested by Anush Elangovan on the ChromiumOS team.
* sync: Use --force-broken to continue other projectsv1.7Andrei Warkentin2010-10-291-3/+15
| | | | | | | | | | This adds a new flag -f/--force-broken that will allow the rest of the sync process to continue instead of bailing when a particular project fails to sync. Change-Id: I23680f2ee7927410f7ed930b1d469424c9aa246e Signed-off-by: Andrei Warkentin <andreiw@motorola.com> Signed-off-by: Shawn O. Pearce <sop@google.com>