summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | Update the commit-msg hook to the version from Gerrit 2.5.2David Pursehouse2013-02-131-1/+3
| | | | | | | | Change-Id: I00760fe55a0e1b61375a378c05f263e7bc857ca0
* | Add missing sys module when referencing stderrConley Owens2013-02-121-2/+2
| | | | | | | | | | | | | | `repo cherry-pick` was broken because we were referencing stderr instead of sys.stderr. This should fix it. Change-Id: I67f25c3a0790d029edc65732c319df7c684546c8
* | Merge "Don't exit with error on HTTP 403 when downloading clone bundle"v1.12.1David Pursehouse2013-02-041-1/+1
|\ \
| * | Don't exit with error on HTTP 403 when downloading clone bundleDavid Pursehouse2013-01-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | If the server returns HTTP 403 (forbidden) when attempting to download clone bundle files, ignore it and continue, rather than exiting with a fatal error. Change-Id: Icf78cba0332b51b0e7b622f7c7924369b551b6f6
* | | Fix: GitError when using repo info -dOlof Johansson2013-01-291-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a workspace is initialised with: repo init -u git://path/to/manifest -b manifest-branch and the default.xml specifies the default revision as `other-branch`, running `repo info -d` results in a GitError: fatal: bad revision 'refs/remotes/m/other-branch..' The repo info command uses the default revision to build the symlink to the remote revision which is passed to the `git rev-list` command. This is incorrect; the manifest's branch name should be used. Change-Id: Ibae5b91869848276785facfaef433e38d49fd726
* | Add missing manifest format documentationDavid Pursehouse2013-01-291-0/+20
| | | | | | | | | | | | | | Documentation of the "sync-j", "sync-c", "sync-s" and "upstream" attributes is missing/incomplete. Add it. Change-Id: I74977f819f603c520ef3818f85c3b51399cd2b94
* | 'repo status --orphans' shows non-repo filesWill Richey2013-01-291-0/+72
| | | | | | | | | | | | | | | | 'repo status --orphans' searches for non-repo objects (not within a project), which is particularly helpful before removing a working tree. Change-Id: I2239c12e6bc0447b0ad71129551cb50fa671961c
* | Fix: missing space in information message after repo initDavid Pursehouse2013-01-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | In the information message displayed after running repo init, there is a missing space: If this is not the directory in which you want to initializerepo Add a space. Change-Id: I20467673ba7481cfe782ba58ff6ed2f7ce9824a5
* | Better error message when using --mirror in existing workspaceDavid Pursehouse2013-01-291-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If repo init is run with the --mirror option, repo checks if there is already a workspace initialized in the current location, and if so, exits with an error message: --mirror not supported on existing client This error can cause confusion; the users do not understand what is wrong and what they need to do to fix it. Change the error message to make it a bit clearer. Change-Id: Ifd06ef64fd264bd1117e4184c49afe0345b75d8c
* | Fix: missing spaces in info command outputDavid Pursehouse2013-01-291-3/+3
| | | | | | | | | | | | Text should be joined with " " rather than "" in the output. Change-Id: I6c5dddc15743e98c3b43702cb5d3ec32f81c3221
* | Merge "should use os.path.lexist instead of os.path.exist"Shawn Pearce2013-01-281-3/+3
|\ \
| * | should use os.path.lexist instead of os.path.existSebastian Frias2012-11-231-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The logic of the program requires a check on the existence of the link itself See repo issue #125 : https://code.google.com/p/git-repo/issues/detail?id=125 Change-Id: Ia7300d22d6d656259f47c539febf1597f0c35538
* | | Merge "Check for a cookie file when fetching clone.bundle."Conley Owens2013-01-171-0/+3
|\ \ \
| * | | Check for a cookie file when fetching clone.bundle.Torne (Richard Coles)2013-01-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the user's git config specifies a cookie file for HTTP, use it when fetching clone.bundle, as it may contain the required login credentials to get access (e.g. when used with Compute Engine service accounts). Change-Id: I12ee9e38694822ef1de4ed62138c3876c43f431b
* | | | If parsing the manifests fails, reset the XmlManifest objectJoe Onorato2013-01-171-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | so that if it's called again, we see the correct errors. Change-Id: I909488feeac04aecfc92a9b5d6fb17827ef2f213
* | | | Merge "Pass full path of the XML in local_manifests to the parser"Conley Owens2013-01-171-1/+2
|\ \ \ \
| * | | | Pass full path of the XML in local_manifests to the parserTobias Droste2013-01-071-1/+2
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the following python error message if the current working directory is not .repo/local_manifests: IOError: [Errno 2] No such file or directory: 'local_manifest.xml' Signed-off-by: Tobias Droste <tdroste87@gmail.com> CC: David Pursehouse <david.pursehouse@sonymobile.com> Change-Id: I4668dc04219b6233c7ff6ca3b4138bec9ee3529f
* | | | Merge "Make -notdefault a default manifest group"Conley Owens2013-01-141-3/+2
|\ \ \ \ | |/ / / |/| | |
| * | | Make -notdefault a default manifest groupMatt Gumbel2012-12-211-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When trying to render manifest with SHAs, projects in group notdefault caused the following crash: Traceback (most recent call last): File ".repo/repo/main.py", line 385, in <module> _Main(sys.argv[1:]) File ".repo/repo/main.py", line 365, in _Main result = repo._Run(argv) or 0 File ".repo/repo/main.py", line 137, in _Run result = cmd.Execute(copts, cargs) File ".repo/repo/subcmds/manifest.py", line 129, in Execute self._Output(opt, manifest) File ".repo/repo/subcmds/manifest.py", line 79, in _Output peg_rev = opt.peg_rev) File ".repo/repo/manifest_xml.py", line 199, in Save p.work_git.rev_parse(HEAD + '^0')) File ".repo/repo/project.py", line 2035, in runner capture_stderr = True) File ".repo/repo/git_command.py", line 215, in __init__ raise GitError('%s: %s' % (command[1], e)) error.GitError: rev-parse: [Errno 2] No such file or directory: 'prebuilts/eclipse-build-deps' This patch resolves the issue by making sure that -notdefault is always used as a default manifest group so that notdefault projects are not rendered out by the manifest subcmd. Change-Id: I4a8bd18ea7600309f39ceff1b1ab6e1ff3adf21d Signed-off-by: Matt Gumbel <matthew.k.gumbel@intel.com>
* | | | Support resolving relative fetch URLs on persistent-https://v1.12.0Shawn Pearce2013-01-021-1/+8
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | Some versions of Python will only attempt to resolve a relative URL if they understand the URL scheme. Convert persistent-http:// and persistent-https:// schemes to the more typical http:// and https:// versions for the resolve call. Change-Id: I99072d5a69be8cfaa429a3ab177ba644d928ffba
* | | Allow sync to run even when the manifest is broken.Torne (Richard Coles)2012-12-051-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | If the current manifest is broken then "repo sync" fails because it can't retrieve the default value for --jobs. Use 1 in this case, in order that you can "repo sync" to get a fixed manifest (assuming someone fixed it upstream). Change-Id: I4262abb59311f1e851ca2a663438a7e9f796b9f6
* | | Represent git-submodule as nested projects, take 2Che-Liang Chiou2012-11-195-57/+372
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Previous submission of this change broke Android buildbot due to incorrect regular expression for parsing git-config output. During investigation, we also found that Android, which pulls Chromium, has a workaround for Chromium's submodules; its manifest includes Chromium's submodules. This new change, in addition to fixing the regex, also take this type of workarounds into consideration; it adds a new attribute that makes repo not fetch submodules unless submodules have a project element defined in the manifest, or this attribute is overridden by a parent project element or by the default element.) We need a representation of git-submodule in repo; otherwise repo will not sync submodules, and leave workspace in a broken state. Of course this will not be a problem if all projects are owned by the owner of the manifest file, who may simply choose not to use git-submodule in all projects. However, this is not possible in practice because manifest file owner is unlikely to own all upstream projects. As git submodules are simply git repositories, it is natural to treat them as plain repo projects that live inside a repo project. That is, we could use recursively declared projects to denote the is-submodule relation of git repositories. The behavior of repo remains the same to projects that do not have a sub-project within. As for parent projects, repo fetches them and their sub-projects as normal projects, and then checks out subprojects at the commit specified in parent's commit object. The sub-project is fetched at a path relative to parent project's working directory; so the path specified in manifest file should match that of .gitmodules file. If a submodule is not registered in repo manifest, repo will derive its properties from itself and its parent project, which might not always be correct. In such cases, the subproject is called a derived subproject. To a user, a sub-project is merely a git-submodule; so all tips of working with a git-submodule apply here, too. For example, you should not run `repo sync` in a parent repository if its submodule is dirty. Change-Id: I4b8344c1b9ccad2f58ad304573133e5d52e1faef
* | Allow init command to set options from environment variablesDavid Pursehouse2012-11-171-0/+4
| | | | | | | | | | | | | | | | The manifest URL and mirror location can be specified in environment variables which will be used if the options are not passed on the command line Change-Id: Ida87968b4a91189822c3738f835e2631e10b847e
* | Allow command options to be set from environment variablesDavid Pursehouse2012-11-172-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | Extend the Command base class to allow options to be set from values in environment variables, if the user has not given the option on the command line and the environment variable is set. Derived classes of Command can override the implementation of the method _GetEnvironmentOptions to configure which of its options may be set from environment variables. Change-Id: I7c780bcf9644d6567893d9930984c054bce7351e
* | 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