Commits

Show all
Author Commit Message Labels Comments Date
Mitsuhiro Koga
svn_swig_wrapper: Ensure subversion config files We will create a subversion config file if it does not exist. Currently, svn_config_ensure() exists only swig.
Tags
1.5
Mitsuhiro Koga
svnrepo: Support --insecure option the same as the mercurial To bypass verification of ssl certificate on one of the following: - Specify the --insecure option - Set the fingerprint to config hostfingerprints
Mitsuhiro Koga
svnwrap: Implement handling of ssl_client_cert_pw_prompt_provider
Mitsuhiro Koga
svnwrap: Implement handling of ssl_client_cert_prompt_provider
Mitsuhiro Koga
svnwrap: Improved handling of username_prompt_provider
Mitsuhiro Koga
svnwrap: Improved handling of simple_prompt_provider
Mitsuhiro Koga
svnwrap: Refactor the svn_auth_ssl_server_trust_prompt to add other handler - Since there are five handler, change to SubversionPrompt class from svn_auth_ssl_server_trust_prompt(). - Moved out of the handler to check the callback function is non-None.
Mitsuhiro Koga
svnwrap: Implement handling of get_ssl_server_trust_prompt_provider If the server certificate is untrusted when connected to a subversion repository using the connection SSL, respond with a message similar to svn client. Here, we can choose either a permanent accept, temporary accept, rejection.
Patrick Mézard
editor: do not record invalid path deletion
Patrick Mézard
editor: process missing files with regular files Missing files were stored directly in RevisionMeta and resolved after the revision was replayed. It means the missing files set was no pruned by delete_entry() actions or by the filemap, and some of them were fetched for no reason. Say you convert: A branch/foo/bar (from trunk/foo/bar:123) with a filemap excluding "foo/bar". Since the directory was excluded in trunk the files cannot be found …
Patrick Mézard
tests: add tests where files are moved from root to trunk It triggers a special case of missing path with a different root layout.
Patrick Mézard
editor: ignore added or copied files excluded by a filemap Files brought by a copied add_directory() were processed despite being excluded by the filemap. This was also the case with added files. The conversion was still correct because they were eventually filtered out in the replay.convert_rev() but processing them in itself may be problematic. Filemaps are often use to exclude large binary files and before this change, some of them could be marked as m…
Patrick Mézard
svnmeta: fix list not being joined in split_branch_path()
Patrick Mézard
editor: tidy up directory batons handling - Check they are opened in DFS order - Do not make a special case for the root baton
Patrick Mézard
editor: improve debug information when fetching files in replay
Patrick Mézard
maps: fix filemap loading --verbose message The m.stri('e') was removing the leading 'e' or 'exclude'.
Patrick Mézard
replay: remove useless warning about invalid externals The warning is wrong when a filemap is used, and if we expect the externals to be filtered already, let's make this abort instead of warning.
Patrick Mézard
test_fetch_mappings: reduce copy/paste
Patrick Mézard
test_rebuildmeta: fix src/dest typo
Patrick Mézard
stupid: do not close branch upon branch-wide revert Reverting a branch with a remove followed by a copy results in a branch replacement. By default, branch replacements are handled by closing the replaced branch and committing the new branch on top of it. But we do not really want that when reverting a branch, we only want a linear history with a changeset capturing the revert.
Patrick Mézard
editor: add a small changectx cache Reverts including a lot of files create many actions like: R bar (from trunk/bar:4343) For each of these files, an open_file() call is made and the parent mercurial revision is loaded to detect copies in issamefile(). This results in a big slowdown, easily reduced by caching the changectx.
Patrick Mézard
editor: relax copyfrom dir checks to avoid extra missing entries When renaming a branch you get something like: D /branch/bar A /branch/foo (from /branch/foo:42) Unfortunately, the branch layout for the revision being converted is computed before starting to convert it. It means the copyfrom path supplied in the add_directory() for /branch/foo will be be considered invalid, be added to missing and fetched the slow way despite being in the repository histo…
Patrick Mézard
editor: add addmissing() and test config to make it fail Missing files should be the exception not the norm. Right now, a lot of these are caused by incorrect handling of branch updates. The hgsubversion.failonmissing configuration entry will help chase them.
Patrick Mézard
editor: use SimpleStringIO in apply_text() The design is a little ugly as the data stored in _openfiles will be a string or a SimpleStringIO depending on the file having been edited or not but this is a simple way to avoid allocating large blocks of data. This is also a bet the output stream passed to apply_text() is only being written and never seeked or read.
Patrick Mézard
editor: do not reread all data upon branching Branch creation is a special case of add_directory(). Until now, it was handled by enumerating branch parent files and creating svncopy records which were later converted into open files or pushed into the RevisionData. By default, there is no reason to record anything, the files are the same than in the parent changeset. The tricky part is to correctly check the source is the parent revision. Thi…
Patrick Mézard
push: reset encoding before the final update Before a9f315eae67c, all the rebase sequence including the update was executed with the encoding reset to the native one. After the change, the final update was left out and ran with UTF-8, which fails for some badly shaped repository. Reset the correct encoding context.
Patrick Mézard
editor: add a pop() method to RevisionMeta to reduce resource usage The commit pass only has to read files once, removing the related data after the read helps not keeping large temporary files around after they have been stored
Comments 2
Patrick Mézard
pull: add hgsubversion.filestoresize to control memory consumption The configuration entry defines the size of the replay or stupid edited file store, that is the maximum amount of edited files data in megabytes which can be kept in memory before falling back to storing it in a temporary directory. Default to 200 (megabytes), use -1 to disable.
Patrick Mézard
editor: move RevisionData on the filesystem over a given threshold The implementation is similar to the one in mercurial.patch except the mode and copy information are currently kept outside. It minimizes changes to RevisionData and helps with files which properties are modified but not their contents, which filestore was not designed to handle. Besides, CopiedFile pushed from the editor may later be handled separately to resolve them at commit time, in which cas…
Patrick Mézard
editor: do not touch RevisionData copies from the editor Copy source can be passed when adding the file to the revision data.
  1. Prev
  2. Next