summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* don't pass project revision to UploadForReviewColin Cross2013-10-081-1/+1
| | | | | | | | | | | | | | | Passing a project revisionExpr to UploadForReview will cause it to try to push to refs/for/<sha> if the revision points to a sha instead of a branch. Pass None for dest_branch if no destination branch has been specified, which will cause UploadForReview to upload to the merge branch. There is room for further improvement, the user prompts will still print "Upload project <project> to remote branch <sha>", and then upload to the merge branch and not the sha, but that is the same behavior that was in 1.12.2. Change-Id: I06c510336ae67ff7e68b5b69e929693179d15c0b
* Merge "Accept all UTF-8 committer names"v1.12.4Conley Owens2013-09-271-1/+1
|\
| * Accept all UTF-8 committer namesConley Owens2013-09-271-1/+1
| | | | | | | | Change-Id: I7d9d49a8bacf2dc332614d26cdfcc905be7a5290
* | Merge "Do not use print_function from __future__"Conley Owens2013-09-271-63/+70
|\ \
| * | Do not use print_function from __future__Conley Owens2013-09-271-63/+70
| |/ | | | | | | | | | | | | | | Python 2.4 and 2.5 do not have a print_function available, so we need a compatible print function for displaying an error message when the user has an older version of Python. Change-Id: I54d7297be98bb53970e873b36c6605e6dad386c3
* | Assume http upload if ssh_info cannot be parsedConley Owens2013-09-271-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | When uploading a change for review, we sometimes request /ssh_info to get the correct port number for uploading via ssh (regardless of whether or not we intend to upload over ssh). If we have trouble accessing /ssh_info (for authentication reasons, etc), we now press on under the assumption that we will upload via http instead of aborting. Change-Id: Ica6bbeac1279e89424a903529649b7f4af0b6937
* | Merge changes I4b77af22,Ib5bc2de5David Pursehouse2013-09-271-1/+4
|\ \ | |/ |/| | | | | | | * changes: Sync: Improved error message when manifest server RPC call fails Sync: Print name of manifest server used for smart sync/smart tag
| * Sync: Improved error message when manifest server RPC call failsDavid Pursehouse2013-09-251-1/+2
| | | | | | | | | | | | | | | | | | | | | | When the RPC call fails, the error message returned by the server is printed, but it is not obvious that this is caused by RPC call failure. Prefix the error message with a descriptive message that explains what went wrong. Change-Id: I4b77af22aacc2e9843c4df9d06bf54e41d9692ff
| * Sync: Print name of manifest server used for smart sync/smart tagDavid Pursehouse2013-09-251-0/+2
| | | | | | | | | | | | | | | | | | | | When syncing using smart sync or smart tag mode, print the url of the manifest server that is being used. This is useful in organisations that have multiple manifest servers used in different manifest branches. Change-Id: Ib5bc2de5af6f4a942d0ef735c65cbc0721059a61
* | Merge "Wait for git-remote-persistent-https -print_config to exit"Conley Owens2013-09-261-1/+6
|\ \
| * | Wait for git-remote-persistent-https -print_config to exitDave Borowitz2013-09-251-1/+6
| |/ | | | | | | Change-Id: I5ab96e7c8575682217d440ddc52ecfdc8c35f179
* / Give the node _Default class a destBranchExprConley Owens2013-09-251-0/+1
|/ | | | | | | | | This is to avoid the following AttributeError: line 681, in _ParseProject AttributeError: '_Default' object has no attribute 'destBranchExpr' Change-Id: Ia9f7e2cce1409d22d71bc8a74b33edf2b27702ca
* Update gpg key for cco3@android.comv1.12.3.1v1.12.3Conley Owens2013-07-011-28/+28
| | | | | | | cco3@android.com has a new gpg key, so this needs to be updated in the repo scripts so that he can sign updates. Change-Id: I9f058263b35bd027502d6e3b814d7aeb801a1e6e
* upload: fix display of destination branch for SingleBranchChirayu Desai2013-06-281-1/+1
| | | | | | | | | | The command `repo upload --cbr -D <some branch>` will display the default revision, and not the actual destination branch. Fix that and display the branch to which the change will be uploaded to. Change-Id: I712ed0871c819dce6774c47254dac4efec4532e0
* DownloadPatchSet: fetch the change only, and nothing else.Chirayu Desai2013-06-131-1/+0
| | | | | | | | | | | | * Previously, it would run `git fetch <remote.name> <change refspec> <remote.fetch>, which would fetch all the branches, even if 'sync-c' was set to true in the manifest. * Fix that, since all it needs to fetch is the change that was asked for, and nothing else. * For some more info, refer to the discussion on: I42a9d419b51f5da03f20a640ea68993cda4b6500 Change-Id: Ibc801695d56fc16e56f999e0f61393f54461785f
* Merge "sync: assign manifest_name earlier"David Pursehouse2013-06-111-1/+2
|\
| * sync: assign manifest_name earlierChirayu Desai2013-06-111-1/+2
| | | | | | | | | | | | | | | | | | | | | | * manifest_name was never set if opt.smart_sync or opt.smart_tag is used. * Set it earlier, so that the code handles it correctly when it is None. * An UnboundLocalError is raised if running `repo sync` without any options: local variable 'manifest_name' referenced before assignment * This fixes the above regression caused by commit 53a6c5d93a8ba708208826dab64c55fe97f06d0b Change-Id: I57086670f3589beea8461ce0344f6ec47ab85b7b
* | Fix urllib.parse (urlparse) handlingChirayu Desai2013-06-112-3/+3
|/ | | | | | | | | | | | | | | Revert "Fix "'module' object is not callable" error", and fix it properly. * The urlparse module is renamed to urllib.parse in Python 3. * This commit fixes the code to use "urllib.parse.urlparse" instead of creating a new module urlib and setting urlib.parse to urlparse.urlparse. * Fixes an AttributeError: 'function' object has no attribute 'uses_relative' This reverts commit cd51f17c643370e6199216462c1be36f04d57291. Change-Id: I48490b20ecd19cf5a6edd835506ea5a467d556ac
* Merge "Fix a few issues with dest-branch and multiples"Conley Owens2013-06-101-2/+4
|\
| * Fix a few issues with dest-branch and multiplesBryan Jacobs2013-06-031-2/+4
| | | | | | | | | | | | | | This fixes dest-branch display with >1 branch being uploaded to at once, and correctly handles setting the target branch in that case. Change-Id: If5e9c7ece02cc0d903e2cb377485ebea73a07107
* | Merge "Fix "'module' object is not callable" error"Conley Owens2013-06-102-2/+2
|\ \
| * | Fix "'module' object is not callable" errorDavid Pursehouse2013-06-082-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | In a couple of files the urlparse method was not being set up correctly for python < 3 and this resulted in an error being thrown when trying to call it. Change-Id: I4d2040ac77101e4e228ee225862f365ae3d96cec
* | | Degrade: Fix smart sync/smart tagVictor Boivie2013-06-081-3/+4
|/ / | | | | | | | | | | | | | | | | | | | | This was broken in b2bd91c, which updated the manifest after it had been overridden, which made it fall back to the original file (and not the one from the manifest server). This builds on 0766900 and overrides the manifest by the one downloaded from the manifest server completely. Change-Id: Ic3972390a68919b614616631d99c9e7a63c0e0db
* | 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>