summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge "Print project name for -p on mirror clients"Conley Owens2013-06-051-1/+6
|\ \ \
| * | | Print project name for -p on mirror clientsJorge Gonzalez2013-06-031-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It doesn't make sense to print the relpath, since there's nothing checked out there and the dir shouldn't even exist. Change-Id: Id43631a8e0895929d3a5ad4ca8c2dc9e3d233e70
* | | | Read cookie file from git-remote-persistent-https if applicableDave Borowitz2013-06-041-4/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git-remote-persistent-https proxy implementations may pass cookie file configuration to git-remote-https. When fetching bundles for persistent-http(s) URLs, use the -print_config flag (if supported) to extract this information from the proxy binary and pass it to curl, overriding http.cookiefile from .gitconfig. This adds a few ms overhead per clone.bundle fetch, which should be acceptable since it happens only on the initial clone, which takes much longer anyway. Change-Id: I03be8ebaf8d3005855d33998cd8ecd412e8ec287
* | | | Ensure clone.bundle files have proper headerDave Borowitz2013-06-041-1/+12
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | Server auth middleware may return a 200 from a clone.bundle request that is not a bundle file, but instead a login or access denied page. Instead of just checking the file size, actually check the first few bytes of the file to ensure it is a bundle file before proceeding. Change-Id: Icea07567c568a24fd838e5cf974c58f9e4abd7c0
* / / Fix a bug in repo upload --cbrBryan Jacobs2013-06-021-0/+2
|/ / | | | | | | | | | | | | repo upload --cbr bailed out if some branches did not have modifications when it is used. Change-Id: I35f264ff7d77bb4bf8f26b4c3faffa184920b6c5
* | Merge "Handle HTTPException when attempting to get ssh_info"Conley Owens2013-05-281-0/+6
|\ \
| * | Handle HTTPException when attempting to get ssh_infoDavid Pursehouse2013-05-251-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The call to `urlopen` can raise `HTTPException`, but this is not caught which results in a python Traceback. Add handling of the exception. Because `HTTPException` and its derived classes do not have any message, print the name of the exception in the error message instead. Change-Id: Ic90fb4cc0e92702375cd976d4a03876c8ce8bffc
* | | Send reviews to a different branch from fetchBryan Jacobs2013-05-244-20/+50
|/ / | | | | | | | | | | | | | | This adds the ability to have reviews pushed to a different branch from the one on which changes are based. This is useful for "gateway" systems without smartsync. Change-Id: I3a8a0fabcaf6055e62d3fb55f89c944e2f81569f
* | Move Python version checking to a separate moduleDavid Pursehouse2013-05-2310-49/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new module with methods for checking the Python version. Instead of handling Python3 imports with try...except blocks, first check the python version and then import the relevant modules. This makes the code a bit cleaner and will result in less diff when/if we remove support for Python < 3 later. Use the same mechanism to handle `input` vs. `raw_input` and add suppression of pylint warnings caused by redefinition of the built-in method `input`. Change-Id: Ia403e525b88d77640a741ac50382146e7d635924 Also-by: Chirayu Desai <cdesai@cyanogenmod.org> Signed-off-by: Chirayu Desai <cdesai@cyanogenmod.org>
* | Remove unused show_smart option on list and info commandsDavid Pursehouse2013-05-162-2/+2
| | | | | | | | Change-Id: Idf0e161a0b0cc23a5a3ee44d18cb797162cfdd7b
* | Merge "Disable warning about locally disabling pylint warnings"David Pursehouse2013-05-151-1/+1
|\ \
| * | Disable warning about locally disabling pylint warningsDavid Pursehouse2013-05-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Several files have local suppression of pylint warnings. We don't need these to be reported; code review should catch any unnecessary suppressions. Change-Id: Ie71ba3e910714ef3fe44554a71bb62519d0a891d
* | | Use reference also for manifest gitVictor Boivie2013-05-122-5/+27
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When running 'repo init --reference=<mirror>', the mirror will be used for all projects except the manifest project. This is because the _InitGitDir function uses the 'repo.reference' git config value specified in the manifest git, which has no effect when creating the manifest git as that value will be set after the git has been successfully cloned. Information about where the manifest git is located on the server is only known when performing the 'repo init', so that information has to be provided when cloning the git in order for it to set up a proper mapping. Change-Id: I47a2c8b3267a4065965058718ce1def4ecb34d5a Signed-off-by: Chirayu Desai <cdesai@cyanogenmod.org>
* | Merge "Re-initialise repos git hooks when updating the forest"David Pursehouse2013-05-091-5/+12
|\ \
| * | Re-initialise repos git hooks when updating the forestJimmie Wester2013-03-081-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Repo now re-initialises the git-hooks reference directory when updating the forest. This allows for any new template files to be made available throughout the project forest when updating the forest. Previous functionality required the user to recreate the forest. Change-Id: I9051265028a9e77d6139791547fff095bc195077 Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>
* | | Merge "Repo should not fetch tags for shallow projects"David Pursehouse2013-05-081-1/+3
|\ \ \
| * | | Repo should not fetch tags for shallow projectsJimmie Wester2013-05-081-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fetching all tags for a shallow git results in an inconstent git and forces git to fetch more than the depth specified. This change teaches repo not to fetch any tags in a repository initialised with the depth option. Change-Id: I557ead9f88fa0d6a19b1cb55b23bba1100fcb8f2 Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>
* | | | stage: replace filter on lambda with list comprehensionDavid Pursehouse2013-05-081-4/+4
|/ / / | | | | | | | | | | | | | | | | | | | | | To fix the pylint warning: W0110: map/filter on lambda could be replaced by comprehension Change-Id: Ib914b42992bb2fbfe888a68fb7b05a7695565b63
* | | Merge "Optimise regex pattern compilation in FindProjects"Conley Owens2013-05-071-2/+2
|\ \ \
| * | | Optimise regex pattern compilation in FindProjectsDavid Pursehouse2013-04-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Make a list of compiled patterns once, and then iterate over that per project, instead of compiling the patterns again on every project. Change-Id: I91ec430d3060ec76d5e6b61facf6b13e343c90a7
* | | | Disable pylint warnings about similar lines in multiple filesDavid Pursehouse2013-05-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When running pylint over the entire code base, it reports the warning: R0801: Similar lines in 2 files for several pairs of files. The code referred to is boilerplate code related to imports and error handling. It is not practical to change the code to avoid the warnings, so simply disable them in the config. Change-Id: Ie685fdf1cab60fb8f1503be560166a14058698d8
* | | | Disable warnings related to imports in pylint configDavid Pursehouse2013-05-031-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are several modules that have imports to support various versions of Python. Pylint reports the following errors when run in a version of Python that does not have the module or the method/class in the module. F0401: Unable to import 'module' E0611: No name 'name' in module 'module' Disable these warnings to reduce the noise on the output. Change-Id: I97e7e2698bccb1e501a45a0869f97f90d54adfb7
* | | Add regex support for subcommand forallZhiguang Li2013-04-293-13/+24
| | | | | | | | | | | | | | | | | | | | | | | | Filter the project list based on regex or wildcard matching of strings, then we can handle subset of all projects. Change-Id: Ib6c23aec79e7d981f7b6a5eb0ae93c44effec467 Signed-off-by: Zhiguang Li <muzili@gmail.com>
* | | Merge "Set correct name in PyDev and Eclipse project config"David Pursehouse2013-04-202-2/+2
|\ \ \
| * | | Set correct name in PyDev and Eclipse project configDavid Pursehouse2013-04-192-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The name of the project is shown as "repo" in the project list in the Eclipse workspace. This change renames it to "git-repo" to match the name of the git repository. The existing project in Eclipse must be removed (it is not necessary to delete project contents on disk) and re-imported for the change to take effect. Change-Id: I2ac022d22f46e5361dfe49c0dbcad482aaefe628
* | | | Merge "Some fixes for supporting python3"Conley Owens2013-04-1914-90/+130
|\ \ \ \
| * | | | Some fixes for supporting python3Chirayu Desai2013-04-1814-90/+130
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix imports. * Use python3 syntax. * Wrap map() calls with list(). * Use list() only wherever needed. (Thanks Conley!) * Fix dictionary iteration methods (s/iteritems/items/). * Make use of sorted() in appropriate places * Use iterators directly in the loop. * Don't use .keys() wherever it isn't needed. * Use sys.maxsize instead of sys.maxint TODO: * Make repo work fully with python3. :) Some of this was done by the '2to3' tool [1], by applying the needed fixes in a way that doesn't break compatibility with python2. Links: [1]: http://docs.python.org/2/library/2to3.html Change-Id: Ibdf3bf9a530d716db905733cb9bfef83a48820f7 Signed-off-by: Chirayu Desai <cdesai@cyanogenmod.org>
* / / / repo: add rudimentary version checkingChirayu Desai2013-04-171-0/+14
|/ / / | | | | | | | | | | | | Change-Id: I957775c7ce0821971cc2320597e1a7a31950bcf3 Signed-off-by: Chirayu Desai <cdesai@cyanogenmod.org>
* | | sync: be more verboseChirayu Desai2013-04-151-0/+5
| | | | | | | | | | | | | | | | | | | | | * Print project name if the "quiet" option is not used. Change-Id: I99863bb50f66e4dcbaf2d170bdd05971f2a4e19a Signed-off-by: Chirayu Desai <cdesai@cyanogenmod.org>
* | | Allow mirror to be created in directories specified by 'path' attributeScott Fan2013-04-112-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some cases, especially when local manifest files exist, users may want to force the mirrored repositories to be created in folders according to their 'path' attribute in the manifest, rather than according to the name of the repositories. To enable this functionality for specified mirror, add a new attribute 'force-path' for that project in the manifest, set its value to 'true'. Change-Id: I61df8c987a23d84309b113e7d886ec90c838a6cc Signed-off-by: Scott Fan <fancp2007@gmail.com>
* | | Allow clone depth to be specified per projectDavid Pursehouse2013-04-103-2/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the clone-depth attribute is set on a project, its value will be used to set the depth when fetching the git. The value, if given, must be a positive integer. The value in the clone-depth attribute overrides any value given to repo init via the --depth command line option. Change-Id: I273015b3724213600b63e40cca4cafaa9f782ddf
* | | list: add name-only and path-only optionsChirayu Desai2013-04-061-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | `repo list -n` prints only the name of the projects. `repo list -p` prints only the path of the projects. Change-Id: If7d78eb2651f0b1b2fe555dc286bd2bdcad0d56d Signed-off-by: Chirayu Desai <cdesai@cyanogenmod.org>
* | | Special handling for manifest group "default"David Holmer2013-04-034-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change Details: * Make "default" a special manifest group that matches any project that does not have the special project group "notdefault" * Use "default" instead of "all,-notdefault" when user does not specify manifest group * Expand -g option help to include example usage of manifest groups Change Benefits: * Allow a more intuitive and expressive manifest groups specification: * "default" instead of "all,-notdefault" * "default,foo" instead of "all,-notdefault,foo" * "default,-foo" instead of "all,-notdefault,-foo" * "foo,-default" which has no equivalent * Default manifest groups behavior can be restored by the command 'repo init -g default'. This is significantly more intuitive than the current equivalent command 'repo init -g all,-notdefault'. Change-Id: I6d0673791d64a650110a917c248bcebb23b279d3
* | | Fix `repo manifest` support of remote aliases.Brian Harring2013-04-031-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Long story short, w/out this modification the manifest dump points at the alias, rather than the actual remote for the project. This breaks sync'ing for scenarios where the alias doesn't have the same repos available as the remote, plus just plain is wrong. Change-Id: I7150e449341ed8655d398956a095261978d95870
* | | Reload the correct manifest during sync.Tim Kilbourn2013-03-081-2/+9
|/ / | | | | | | | | | | | | Fix for issue #134 https://code.google.com/p/git-repo/issues/detail?id=134 Change-Id: I94c2dea5dd63917e3f9c90cbd628921d7d61b12a
* | Add `repoc` to the .gitignore fileChirayu Desai2013-03-081-0/+1
| | | | | | | | | | | | | | | | | | This is currently the only generated file not present in the .gitignore Apparently it comes from the usage of the "imp" module in main.py Change-Id: I685dc252d0c822818434a8e5f493f77b63a66f03 Signed-off-by: Chirayu Desai <cdesai@cyanogenmod.org>
* | Merge "Add manifest groups to the output of `info`"David Pursehouse2013-03-081-1/+7
|\ \
| * | Add manifest groups to the output of `info`Conley Owens2013-03-071-1/+7
| |/ | | | | | | | | | | | | | | List the user's manifest groups when running `repo info`. These groups are passed to `repo init` using the -g/--groups flag. Change-Id: Ie8a4ed74a35b8b90df3b1ee198fe725b1cd68ae7
* | Merge "Fix: Missing spaces in printed messages"David Pursehouse2013-03-065-7/+7
|\ \
| * | Fix: Missing spaces in printed messagesDavid Pursehouse2013-03-055-7/+7
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several messages are printed with the `print` method and the message is split across two lines, i.e.: print('This is a message split' 'across two source code lines') Which causes the message to be printed as: This is a message splitacross two source code lines Add a space at the end of the first line before the line break: print('This is a message split ' 'across two source code lines' Also correct a minor spelling mistake. Change-Id: Ib98d93fcfb98d78f48025fcc428b6661380cff79
* | Merge "Fix: local manifest deprecation warning appears more than once"David Pursehouse2013-03-061-3/+6
|\ \ | |/ |/|
| * Fix: local manifest deprecation warning appears more than onceDavid Pursehouse2013-02-171-3/+6
| | | | | | | | | | | | | | | | | | When running repo sync, the local_manifest.xml deprecation warning is shown twice. Add a flag to ensure that it is only displayed once. Change-Id: Icfa2b0b6249c037c29771f9860252e6eda3ae651
* | upload: support --re and --cc options over HTTPv1.12.2Shawn Pearce2013-02-281-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HTTP can't use the older style of passing options as part of the git receive-pack command line. Use the new style as defined by https://gerrit-review.googlesource.com/42652 when connecting over HTTP. If the Gerrit server is too old to understand the % option syntax used here one of two outcomes is possible: - If no topic name was sent the server will fail with an error message. This happens because the user tried to do an upload to "refs/for/master%r=alice", and the branch does not exist. The user can delete the options and retry the upload. - If a topic was set the options will be read as part of the topic string and shown on the change page in the topic field. Either outcome is slightly better than the current behavior of just dropping the data on the floor and forgetting whatever the user tried to supply. Change-Id: Ib2df62679e5bf3ee93d6b18c12ab6474f96d9106
* | Add --no-tags option to prevent fetching of tagsMitchel Humpherys2013-02-272-7/+19
| | | | | | | | | | | | | | Add an option to pass `--no-tags' to `git fetch'. Change-Id: I4158cc369773e08e55a167091c38ca304a197587 Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
* | Fix crash in repo info when `%` is used in commit messagesOlof Johansson2013-02-261-1/+1
| | | | | | | | | | | | | | Fix for issue #131 http://code.google.com/p/git-repo/issues/detail?id=131 Change-Id: I078533ab5f3a83154c4ad6aa97a5525fc5139d20
* | Add nofmt_printer to color.pyOlof Johansson2013-02-261-0/+18
|/ | | | | | | | | | | | | The current printer always expands on the arguments which is a problem for strings containing %. Instead of forcing manual string expansion before printing allow for a no format printer option which simply accepts and prints the string. Part of fix for issue #131: http://code.google.com/p/git-repo/issues/detail?id=131 Change-Id: I08ef94b9c4ddab58ac12d2bd32ebd2c413e4f83b
* Exit with fatal error if local manifest file cannot be parsedDavid Pursehouse2013-02-171-5/+2
| | | | | | | | | | | | | If the .repo/local_manifests folder includes a local manifest file that cannot be parsed, the current behaviour is to catch the parse exception, print a warning, and continue to process remaining files. This can cause any errors to go unnoticed. Remove the exception handling, so that the exception is instead caught in main._Main, and repo exits with a fatal error. Change-Id: I75a70b7b850d2eb3e4ac99d435a4568ff598b7f4
* Show full path of `local_manifests` folder in deprecation warningDavid Pursehouse2013-02-171-2/+2
| | | | | | | | | | | | When a local_manifest.xml file is present, a deprecation warning is printed telling the user to put local manifest files in the `local_manifests` directory. Include the full path to the `local_manifests` directory in the warning, to reduce confusion about where the directory should be located. Also enclose the directory name in backticks. Change-Id: I85710cfbd6e77fb2fa6b7b0ce66d77693ccd649f
* Merge "Protect line endings in shell scripts"David Pursehouse2013-02-141-0/+4
|\
| * Protect line endings in shell scriptsMats Bengtsson2013-02-111-0/+4
| | | | | | | | | | | | | | Add a .gitattributes file to prevent /bin/sh scripts from getting clobbered by git config core.autocrlf=true setting. Change-Id: I3dfc992a9c275fceae64c9719168d81e60d911bd