Hello, Overall question: What is the best way to edit code referenced via externals?? I've tried a few ways, with varying success.
*Details:* Apologies if this is a long post - trying to give as many details up-front to get the best responses possible. The shared libraries are set up and working well in many cases for projects, where the shared libs are fairly stable. Each of the components from the shared "library" are source-code components, needing to be included into a project in order to be run as intended. These components are generally considered "stable"... until features need to be added, bugs to be fixed... etc. When new features are needed, or bugfixes need to be made, then comes the question, "How do I edit the external code?" To edit one of these items, I've noticed a few possibilities: *1. Edit the item directly in a working copy* The file/folder created during the checkout and processing of the svn:externals property is, essentially, a nested checkout of the specified URL at the peg/explicit revision. Typically, we have externals going into discrete folders without any local items. The workflow I have tried in this situation for editing HW interface code in a shared library: - Update external WC - Edit / Test / Commit - TortoiseSVN prompts to update external's peg revision --> Answer YES, or manually update external property - Commit project WC This approach works fairly well, but isn't immediately obvious to developers less experienced with Subversion/TortoiseSVN. One main drawback to this approach is when the external has its own branches/tags/trunk tree, and a branch/switch is needed to point the WC to appropriate folder. TortoiseSVN does not appear to "pick up" the "switch" as well as it detects the revision # change mentioned above. ( *if this is being addressed in a bugfix, I'd like to know... =) *) *2. Editing the item referenced by external at its source* While this will always "work," it seems quite cumbersome, and difficult to get other (less-experienced) developers to follow. Where the shared code needs to be included in another project to be tested on-target (especially for HW interfaces), I envision the workflow looking like: - Edit the code in question in a project's WC (maybe even in the external directory) - Test (hopefully!) - Checkout the library item (branching if needed) - Manually copy the changes from the project's WC to the library's WC, then commit - Change project WC's svn:externals property, then update/test/commit *3. Remove external, copy item to project, modify, copy to library, recreate external* Not kidding... one developer actually went through the hassle of doing this... Does anyone else run into this situation, and/or have a better way of managing it? Thank you for your time and feedback! Thanks, Paul P. -- You received this message because you are subscribed to the Google Groups "TortoiseSVN" group. To unsubscribe from this group and stop receiving emails from it, send an email to tortoisesvn+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/tortoisesvn/8c35a8d1-b28c-4328-a868-8fb109299330%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.