diff -Nru trac-mercurial-0.12.0.28/.hgignore trac-mercurial-1.0.0.3+hg8df754d9b36a/.hgignore --- trac-mercurial-0.12.0.28/.hgignore 1970-01-01 00:00:00.000000000 +0000 +++ trac-mercurial-1.0.0.3+hg8df754d9b36a/.hgignore 2013-03-04 21:34:56.000000000 +0000 @@ -0,0 +1,5 @@ +^TracMercurial.egg-info/ +^build/ +^dist/ +.*~$ +.*\.(bak|mo|pyc)$ diff -Nru trac-mercurial-0.12.0.28/COPYING trac-mercurial-1.0.0.3+hg8df754d9b36a/COPYING --- trac-mercurial-0.12.0.28/COPYING 2005-11-02 18:05:41.000000000 +0000 +++ trac-mercurial-1.0.0.3+hg8df754d9b36a/COPYING 2013-03-04 21:34:56.000000000 +0000 @@ -1,340 +1,340 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff -Nru trac-mercurial-0.12.0.28/README trac-mercurial-1.0.0.3+hg8df754d9b36a/README --- trac-mercurial-0.12.0.28/README 2009-10-26 06:02:46.000000000 +0000 +++ trac-mercurial-1.0.0.3+hg8df754d9b36a/README 2013-03-04 21:34:56.000000000 +0000 @@ -8,16 +8,16 @@ === Trac === -This plugin for Trac 0.12 doesn't yet work with Trac ''trunk'', -but requires the ''multirepos'' branch (to be integrated in trunk -shortly): +This plugin works with Trac 1.0.x. + +You can also use the trunk version (1.1.x): {{{ -svn co http://svn.edgewall.com/repos/trac/sandbox/multirepos +svn co http://svn.edgewall.org/repos/trac/trunk }}} and install from there: {{{ -$ cd multirepos +$ cd trunk $ python setup.py egg_info $ python setup.py install }}} diff -Nru trac-mercurial-0.12.0.28/debian/README.source trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/README.source --- trac-mercurial-0.12.0.28/debian/README.source 2011-12-14 15:10:08.000000000 +0000 +++ trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/README.source 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -Making changes to this source package -===================================== - -This source package uses quilt to keep track of patches to the upstream -source. To get a patched copy of the source that is ready for editing, you -can simply run - - debian/rules patch - -from the "root" of the unpacked source tree. If you would like to make -additional changes, it's best to implement them as quilt patches. To -prepare for that, run - - export QUILT_PATCHES=debian/patches - -also from the root of the source tree. After that, you can use quilt -commands like 'quilt new ', 'quilt add', and 'quilt refresh' to -create your patches. Please see the quilt(1) man page for reference. - -To disable specific patches, simply edit debian/patches and comment out the -patches you want to disable with a '#' character. diff -Nru trac-mercurial-0.12.0.28/debian/changelog trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/changelog --- trac-mercurial-0.12.0.28/debian/changelog 2011-12-14 15:11:35.000000000 +0000 +++ trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/changelog 2013-08-01 17:35:42.000000000 +0000 @@ -1,3 +1,26 @@ +trac-mercurial (1.0.0.3+hg8df754d9b36a-1) unstable; urgency=low + + [ Matthias Schmitz ] + * [5105b6c] Add get-orig-source to debian/rules + * [32c7c8d] Imported Upstream version 1.0.0.3+hg8df754d9b36a + * [f980ec2] Use debhelper magic in debian/rules + * [e1c1f5d] Bump Standards, change Maintainer to adopt the package + * [8550808] Add empty debian/watch to please lintian + * [3b23582] Bump debhelper compat to 9 + * [10bb652] Remove obsolete README.source + * [99b5f65] Remove the unused patches from debian/patches and series + * [f469e19] Explain how to fetch latest source in debian/watch + * [8bb7dd2] Tell debhelper to run --with python2 + * [6beee6a] Remove unneeded python-support (use dh_python2 now) + * [f6302dd] Rewrite debian/copyright to DEP-5 machine readable + * [21c4df5] Change Vcs-* header to the new collab-maint repository + + [ Daniel Kahn Gillmor ] + * [52af26f] ensure that excess files get cleaned properly + * [7f33472] add myself to uploaders + + -- Daniel Kahn Gillmor Thu, 01 Aug 2013 13:35:01 -0400 + trac-mercurial (0.12.0.28-1) unstable; urgency=low * New upstream version (Closes: #641348) diff -Nru trac-mercurial-0.12.0.28/debian/clean trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/clean --- trac-mercurial-0.12.0.28/debian/clean 1970-01-01 00:00:00.000000000 +0000 +++ trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/clean 2013-08-01 17:32:11.000000000 +0000 @@ -0,0 +1,2 @@ +TracMercurial.egg-info/* +tracext/hg/locale/*/LC_MESSAGES/tracmercurial.mo diff -Nru trac-mercurial-0.12.0.28/debian/compat trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/compat --- trac-mercurial-0.12.0.28/debian/compat 2011-12-14 15:10:08.000000000 +0000 +++ trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/compat 2013-06-24 23:11:53.000000000 +0000 @@ -1 +1 @@ -7 +9 diff -Nru trac-mercurial-0.12.0.28/debian/control trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/control --- trac-mercurial-0.12.0.28/debian/control 2011-12-14 15:10:08.000000000 +0000 +++ trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/control 2013-08-01 17:32:11.000000000 +0000 @@ -1,17 +1,17 @@ Source: trac-mercurial Section: python Priority: optional -Maintainer: Christoph Egger -Build-Depends: debhelper (>= 7.0~), python-setuptools, python -Build-Depends-Indep: python-support (>= 0.3) -Standards-Version: 3.9.2 +Maintainer: Matthias Schmitz +Uploaders: Daniel Kahn Gillmor +Build-Depends: debhelper (>= 9.0), python-setuptools, python +Standards-Version: 3.9.4 Homepage: http://trac.edgewall.org/wiki/TracMercurial -Vcs-Hg: http://hg.debian.org/hg/collab-maint/trac-mercurial -Vcs-Browser: http://hg.debian.org/hg/collab-maint/trac-mercurial +Vcs-Git: git://anonscm.debian.org/collab-maint/trac-mercurial.git +Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/trac-mercurial.git Package: trac-mercurial Architecture: all -Depends: ${misc:Depends}, ${python:Depends}, trac (>= 0.11), mercurial (>= 0.9.5) +Depends: ${misc:Depends}, ${python:Depends}, trac (>= 1.0.1), mercurial (>= 0.9.5) Enhances: trac Description: Mercurial version control backend for Trac TracMercurial is a plugin for Edgewall Software's Trac that allows Trac to use diff -Nru trac-mercurial-0.12.0.28/debian/copyright trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/copyright --- trac-mercurial-0.12.0.28/debian/copyright 2011-12-14 15:10:08.000000000 +0000 +++ trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/copyright 2013-08-01 17:14:50.000000000 +0000 @@ -1,26 +1,29 @@ -This package was debianized by John Wright on -Mon, 10 Dec 2007 21:05:03 -0700. +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: mercurial-plugin +Source: http://trac.edgewall.org/wiki/TracMercurial + +Files: debian/* +Copyright: 2007-2009, John Wright + 2009-2011, Christoph Egger + 2013, Matthias Schmitz +License: GPL-2+ + This program is free software; you can redistribute it + and/or modify it under the terms of the GNU General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later + version. + . + On Debian systems, the full text of the GNU General Public + License version 2 can be found in the file + `/usr/share/common-licenses/GPL-2'. + +Files: * +Copyright: 2005 Edgewall Software + 2005-2013 Christian Boos +License: GPL-2 + The author does not specify a particular version of the license, + therefore it may be distributed under any version published by the Free + Software Foundation. The code ships with a copy of version 2 of the GNU + General Public License; on Debian systems, you can find the full text in + `/usr/share/common-licenses/GPL-2'. -It was checked out from upstream's Subversion repository: - svn co http://svn.edgewall.com/repos/trac/sandbox/mercurial-plugin - -Upstream Author: Christian Boos - -Copyright © 2005 Edgewall Software -Copyright © 2005-2006 Christian Boos -All rights reserved. - -This software may be used and distributed according to the terms -of the GNU General Public License, incorporated herein by reference. - - -The author does not specify a particular version of the license, -therefore it may be distributed under any version published by the Free -Software Foundation. The code ships with a copy of version 2 of the GNU -General Public License; on Debian systems, you can find the full text in -`/usr/share/common-licenses/GPL-2'. - - -The Debian packaging is © 2007, John Wright and -is licensed under the GPL, version 2 or later; see -`/usr/share/common-licenses/GPL-2'. diff -Nru trac-mercurial-0.12.0.28/debian/patches/disable-namespace-package trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/patches/disable-namespace-package --- trac-mercurial-0.12.0.28/debian/patches/disable-namespace-package 2011-12-14 15:10:08.000000000 +0000 +++ trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/patches/disable-namespace-package 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -Remove the namespace_packages option from the setup.py script - -Why do this? For some reason, if it's included, then the __init__.py for the -tracext package doesn't get installed. There's probably a better way to do -this, but this will work for now. - -diff -r 3ba729841466 setup.py ---- a/setup.py Sun Jul 20 15:52:22 2008 -0600 -+++ b/setup.py Sun Jul 20 15:54:50 2008 -0600 -@@ -19,6 +19,5 @@ - - See %s for more details. - """ % TracMercurial, -- namespace_packages=['tracext'], - packages=['tracext', 'tracext.hg'], - entry_points={'trac.plugins': 'hg = tracext.hg.backend'}) diff -Nru trac-mercurial-0.12.0.28/debian/patches/fix_crash.patch trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/patches/fix_crash.patch --- trac-mercurial-0.12.0.28/debian/patches/fix_crash.patch 2011-12-14 15:10:08.000000000 +0000 +++ trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/patches/fix_crash.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -Index: trac-mercurial/tracext/hg/backend.py -=================================================================== ---- trac-mercurial.orig/tracext/hg/backend.py 2011-01-24 22:05:18.132952000 +0100 -+++ trac-mercurial/tracext/hg/backend.py 2011-01-24 22:21:08.688952001 +0100 -@@ -261,11 +261,11 @@ - self.setconfig('ui', 'interactive', 'off') - self.log = log - -- def write(self, *args): -+ def write(self, *args, **opts): - for a in args: - self.log.info('(mercurial status) %s', a) - -- def write_err(self, *args): -+ def write_err(self, *args, **opts): - for a in args: - self.log.warn('(mercurial warning) %s', a) - diff -Nru trac-mercurial-0.12.0.28/debian/patches/series trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/patches/series --- trac-mercurial-0.12.0.28/debian/patches/series 2011-12-14 15:13:37.000000000 +0000 +++ trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/patches/series 2013-06-24 23:11:53.000000000 +0000 @@ -1,4 +1 @@ disable-installing-docs -#disable-namespace-package -#update-readme -#fix_crash.patch diff -Nru trac-mercurial-0.12.0.28/debian/patches/update-readme trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/patches/update-readme --- trac-mercurial-0.12.0.28/debian/patches/update-readme 2011-12-14 15:10:08.000000000 +0000 +++ trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/patches/update-readme 1970-01-01 00:00:00.000000000 +0000 @@ -1,299 +0,0 @@ -Update the README with the text from -http://trac.edgewall.org/wiki/TracMercurial as of -Wed Jul 23 02:22:14 MDT 2008 - -diff -r 5b8cf9b54b67 README ---- a/README Wed Jul 23 02:20:02 2008 -0600 -+++ b/README Wed Jul 23 02:24:32 2008 -0600 -@@ -1,6 +1,6 @@ - = Mercurial Plugin for Trac (#1847) = - --There is an '''experimental''' plugin for Trac [milestone:0.10] -+There is an '''experimental''' plugin for Trac [milestone:0.10] and Trac [milestone:0.11] - which enables [http://www.selenic.com/mercurial Mercurial] - to be used instead of [http://subversion.tigris.org Subversion] - as the VersioningSystemBackend for Trac. -@@ -10,51 +10,107 @@ - - Change Logs: - * log:sandbox/mercurial-plugin -- * log:sandbox/vc-refactoring -+ * log:sandbox/mercurial-plugin-0.11 -+ * log:sandbox/mercurial-plugin-0.12 (for the MultipleRepositorySupport branch) - - == Download and Installation == -+=== Trac === -+==== Trac 0.10 ==== - --==== Trac ==== --The plugin needs a slightly modified version of Trac 0.10. --This version can be found in source:sandbox/vc-refactoring. -+The plugin [source:sandbox/mercurial-plugin] works fine with Trac 0.10.3, though it will lack the "quickjump" to a branch or tag feature (this was implemented in source:sandbox/vc-refactoring, but is only available in the mainline for 0.11). - --Simply do: -+See TracDownload and install Trac the usual way (see TracInstall) -+ -+The plugin itself is available from source:sandbox/mercurial-plugin -+ -+Check it out: -+ - {{{ --svn co -r2905 http://svn.edgewall.com/repos/trac/sandbox/vc-refactoring -+svn co http://svn.edgewall.com/repos/trac/sandbox/mercurial-plugin -+}}} -+and create an "egg" from there -+{{{ -+$ cd mercurial-plugin -+$ python setup.py bdist_egg -+}}} -+ -+==== Trac 0.11 ==== -+ -+There's a newer version of the plugin [source:sandbox/mercurial-plugin-0.11] which has been adapted to work with the trunk version of Trac ([milestone:0.11]dev) and is kept in sync with it. -+ -+One of the advantage of using this version is that you won't need to install ClearSilver anymore; instead you'll need the Genshi template engine (which is Python only, and therefore straightforward to install). -+ -+That version of the Mercurial plugin also supports of the new features added in 0.11 to the TracBrowser: -+ - quickjump to a tag or branch -+ - blame support -+ - custom property renderers ([source:sandbox/property-renderers-tmp], not yet in trunk) -+ -+{{{ -+svn co http://svn.edgewall.com/repos/trac/trunk trac -+svn co http://svn.edgewall.org/repos/genshi/trunk genshi - }}} - and install from there: - {{{ --$ cd vc-refactoring --$ python setup.py egg_info -+$ cd trac -+$ python setup.py install -+$ cd .. -+$ cd genshi - $ python setup.py install - }}} -+(for Genshi, you might prefer to use a packaged release, see Genshi:GenshiDownload, or to easy_install it) - --The plugin itself is available from source:sandbox/mercurial-plugin -+Then, you need the plugin itself: -+{{{ -+svn co http://svn.edgewall.com/repos/trac/sandbox/mercurial-plugin-0.11 -+}}} -+create an "egg" from there: -+{{{ -+$ cd mercurial-plugin-0.11 -+$ python setup.py bdist_egg -+}}} - --Check it out, too: --{{{ --svn co -r2905 http://svn.edgewall.com/repos/trac/sandbox/mercurial-plugin --}}} --and create an "egg" from there (`cd hg-plugin; python setup.py bdist_egg`). - Note that you'll need --[http://peak.telecommunity.com/DevCenter/setuptools setuptools] -->= 0.6 for that (I used setuptools-0.6a9). -+[http://peak.telecommunity.com/DevCenter/setuptools setuptools] >= 0.6 for that (I used setuptools-0.6a9). - --===== Releases ===== -+==== Releases ==== - || '''Version''' || mercurial-plugin || Trac vc-refactoring || Compatible with hg || -+|| ''0.12.0.0'' || [source:sandbox/mercurial-plugin-0.12] || [source:sandbox/multirepos] ('''not''' trunk) || 0.9.x, 1.0.x, tip ? || -+||'''0.11.0.4''' || [source:sandbox/mercurial-plugin-0.11] || [milestone:0.11] or [source:branches/0.11-stable] || 0.9.x, 1.0.x, tip || -+|| ''0.10.0.2'' || [source:sandbox/mercurial-plugin] (0.10) || [milestone:0.10] || 0.7, 0.8, 0.9 || -+|| 0.2 || '''r3014''' || [source:trunk@2900] || 0.7, 0.8, tip || -+|| 0.2 || '''r2905''' || '''r2905''' || 0.7, 0.8, tip || -+|| || r2620 || r2620 || 0.7, tip with 1d7d0c07 || - || 0.1 || r2514 || r2511 || 0.7, tip without 1d7d0c07 || --|| || r2620 || r2620 || 0.7, tip with 1d7d0c07 || --|| '''0.2''' || '''r2905''' || '''r2905''' || 0.7, 0.8, tip || - -+Note: -+ - '''the ''Compatible with hg'' column above needs to be updated''' [[br]] -+ It is quite likely that some 0.9.x versions (maybe even 0.9.5) won't work anymore with the 0.11 and 0.12 versions of the plugin (i.e. those are the version actively maintained) -+ - the 0.12 version is somewhat experimental at this point ''worksforme'' -+ - the original branch ([source:sandbox/mercurial-plugin]) which is only for Trac 0.10 is not actively maintained anymore (patches still accepted if you happen to fix a bug, of course) -+ - 0.9.1 was reported not to work with the 0.11 version of the plugin -+ - 0.9.4 (and probably quite a few intermediate changesets between 0.9.3 and 0.9.4) interferes badly with the TH:AccountManager plugin when using Python 2.3.5. -+It's not unlikely that other setups can be affected by the problem, as basically any code that relies on trapping the `ImportError`, after the `mercurial.demandimport` mechanism has been activated, will fail. - --==== Mercurial ==== -+If you happen to have this problem (`TypeError: 'unloaded module' object is not callable`}, you need at least r5766/r5767. See also [http://www.selenic.com/mercurial/bts/issue605 issue605]. -+ -+=== Mercurial === - The plugin has been tested with recent development versions of Mercurial --(upto Changeset 1704:c2755eba8631 from http://selenic.com/hg) -+(upto Changeset 3324:34f08b8883cf from http://selenic.com/hg) - and also with Mercurial 0.7 and 0.8. --''It won't work with earlier versions, in particular not with 0.6x.'' -+'''It won't work with earlier versions, in particular not with 0.6x.''' -+ -+The plugin for 0.11 takes benefit of some new features introduced after the 0.8.2 release of Mercurial, and therefore needs at least a 0.9 version of Mercurial. -+ -+Note: as mentioned here -+[http://groups.google.com/group/trac-users/browse_thread/thread/9b1cd95621c19921/9f829e8acd958a8e] -+It *does* require mercurial-0.9.5. Mercurial 0.9.3 is confirmed to not work with plugin 0.11. - - You can download Mercurial itself from - [http://www.selenic.com/mercurial/wiki/index.cgi/Download Hg:Download]. -+ -+On Windows, it looks like it's possible to re-use the Mercurial library coming from the [Mercurial:BinaryPackages installer], -+see [http://selenic.com/pipermail/mercurial/2007-July/013827.html this mail] -+(though to my knowledge, it is not possible to achieve this using PYTHONPATH and PATH: it fails with `ImportError: No module named handlers` due to library.zip coming in the sys.path before the standard library). - - - == Configuration == -@@ -70,7 +126,7 @@ - - === Setting up the mercurial plugin === - --The TracMercurial-0.2 plugin egg should be added to the `plugins` folder of the -+The TracMercurial plugin egg should be added to the `plugins` folder of the - environment, or it can be globally installed (`python setup.py install` - or a `python setup.py develop`). - -@@ -78,14 +134,19 @@ - - If you installed the egg globally and you're modifying an - existing Trac environment to use the Mercurial backend, --then you have to explicitely ''enable'' the plugin in TracIni: -+then you have to explicitly ''enable'' the plugin in TracIni. -+ -+For the 0.10 plugin, this is done like that: - {{{ - [components] --trac.versioncontrol.hg.* = enabled -+tracvc.hg.* = enabled - }}} --Note that the above will be done automatically for a new installation, --during the `initenv` step. - -+Since the 0.11 of the plugin, the package has been renamed to `tracext`: -+{{{ -+[components] -+tracext.hg.* = enabled -+}}} - - === Setting up a Trac environment === - -@@ -94,7 +155,7 @@ - - For general instructions, see TracInstall. - --Since milestone:0.10, the TracAdmin `initenv` command has -+Since [milestone:0.10], the TracAdmin `initenv` command has - now a ''repository type'' argument besides ''repository directory''. - - For the ''repository type'', specify `hg` instead of the default `svn`. -@@ -128,6 +189,7 @@ - on the Mercurial repository itself and the performance is acceptable, - even if there's currently ''no'' caching in the database - (this is what I'm going to work on next). -+Don't even think about using the plugin on a Linux-kernel-sized Mercurial repository, you'll probably burn your disk and/or CPUs ;) - - For those used to Subversion in general and Subversion repository browsing - in Trac in particular, there are a few differences worth noting. -@@ -144,7 +206,7 @@ - children as well (0 to n). - - Therefore, ''Previous Changeset'' is a link to the first parent, --and ''Next Changeset'' is a link to the first children. -+and ''Next Changeset'' is a link to the first child. - In case there are additional parents or children, these are shown as - additional changeset properties (''Parents'' or ''Children''), - placed below the ''Author'' property and above the ''Message'' property. -@@ -160,6 +222,7 @@ - The Wiki syntax has been extended a bit, to cope with the hexadecimal - notation of hg changesets. E.g `[8ef2]` would link to the changeset - 8ef2ba892518c115170398ec754bd1c27cab271f ... -+Plain changeset numbers are also recognized, provided they are long enough (12 to 40). - Also, it is possible to refer to changesets using the changeset: prefix - (or cset: or chgset:, for hgweb compatibility). - The tag: prefix can be used to refer to symbolic tags, although this is not -@@ -168,14 +231,24 @@ - the specified revision, but the head which is reachable from that revision. - - --=== TracBrowser changes === -+=== TracBrowser changes in [milestone:0.11] === - - The TracBrowser ''View revision'' form has been extended with - pulldown menus for jumping to a given tag or branch (in Mercurial, - a branch within a repository corresponds to a head, i.e. a --changeset without children): [[Image(hg-plugin-browser.png)]] -+changeset without children): -+---- -+[[Image(hg-plugin-browser.png)]] -+---- -+There's also support for visual ''blame'' annotations: -+---- -+[[Image(hg-plugin-annotate.png)]] - --''has to be re-added'' -+=== Mercurial Queue === -+ -+Since r6443, the MQ extension is supported. If you happen to have applied mq patches in your repository, Trac will show the corresponding patch names as '''Tags:''' in the changeset view. -+ -+Also, with the 0.12 branch of the plugin (and the MultipleRepositorySupport branch of Trac), you can browse jointly the main repository and the repository for the associated Mercurial queue, if any (i.e. if you versioned your patch queue using `hg qinit -c` and `hg qcommit`). Furthermore, if you declare such a mercurial repository to be a MQ repository, then all the patches will be correctly rendered as patches, regardless of the patch name (see r6462 for details). - - == Bugs and Limitations == - -@@ -187,7 +260,7 @@ - * No ''path history'' mode (i.e. show all create/delete operations that - affected a given path) - * Revision log ranges [xxx:yyy] -- * View arbitrary diffs -+ * ~~View arbitrary diffs~~ ''implemented in r6053'' - - === Multi-repository support === - -@@ -199,8 +272,9 @@ - Trac should support this by the way of multiple repository support - within a single environment (see #2086). - --Note that the last comment on the above ticket suggests a good --workaround for this problem. -+'''New''': -+This is now implemented. -+Use the 0.12 version of the plugin and the MultipleRepositorySupport. - - - === To cache or not to cache? === -@@ -223,6 +297,11 @@ - the revision log view. Not something as fancy as `hgk`, but nonetheless - something that will make the changeset relationships immediately obvious. - -+There's an existing web implementation by Alexander Schremmer: -+ http://moin.pocoo.org:8080/ (select a repo and then 'branchview' button on the top to see it in action) -+ -+Also, there is [http://trac-hacks.org/wiki/RevtreePlugin RevtreePlugin]. -+ - ==== Search over the source ==== - - A search provider could do the equivalent of an `hg grep`. -@@ -234,9 +313,23 @@ - how conflicts (if any) were solved. But this can be improved by - specifically highlighting lines that differs from both parents. - -+==== Repository Management ==== -+ -+Trac should allow for creating new repositories or clones of existing repositories. Maybe repository deletion and renaming should be supported, too. -+ -+==== Some Manuals, FAQs and a Forum for this project ==== -+I am a novice with Aptana/Eclipse and Mercurial. I was hoping this plugin would give me some assistance over the command line interface, but I cannot even understand how to use it from this plug in. I have an existing mercurial repository. What do I do next to use it? A forum might be useful, as I think there is a big audience for a GUI for mercurial, now that firefox has gone to it. -+ -+==== HG Forest Support ==== -+ -+Support for the Forest extension for Mercurial. Forest extension allows operations on trees with nested Mercurial repositories, called forests. Those to some degree correspond to multi-project CVS/Svn/... repositories. -+ -+Already got most of it working, expect that it's pretty much hacked in the Trac 0.10.3 version of the mercurial plugin. -+Since it needs a bit more flexibile templating (in regards with the lookup/url's) this is hacked around node.path at the moment. Some (small/large?) issues remain but most of it is working. -+ -+ ''Note that with the MultipleRepositorySupport branch of Trac, it should be possible to implement an IRepositoryProvider component knowing about the `forest` extension and adding besides the repository for the forest itself, the managed repositories as well.'' -+ - ==== ''Add your cool feature here...'' ==== -- ------ - - == Implementation Notes == - diff -Nru trac-mercurial-0.12.0.28/debian/rules trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/rules --- trac-mercurial-0.12.0.28/debian/rules 2011-12-14 15:11:35.000000000 +0000 +++ trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/rules 2013-06-24 23:11:53.000000000 +0000 @@ -1,71 +1,17 @@ #!/usr/bin/make -f # -*- makefile -*- -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 +%: + dh $@ --with python2 -include /usr/share/python/python.mk - -build: build-stamp -build-stamp: - dh_testdir - - python setup.py build - touch $@ - -clean: - dh_testdir - dh_testroot - - python setup.py clean - rm -rf build/ TracMercurial.egg-info/ - -# If we're not in a mercurial repository, make sure no hg metadata is -# lying around - if ! [ -d .hg ]; then \ - rm -f .hg*; \ - fi - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_prep - dh_installdirs - - python setup.py install --root="$(CURDIR)/debian/trac-mercurial" \ - --no-compile $(py_setup_install_args) - - -# Build architecture-independent files here. -binary-indep: build install - dh_testdir - dh_testroot - dh_installchangelogs - dh_installdocs - dh_compress - dh_fixperms - dh_python2 - dh_installdeb - dh_gencontrol - dh_md5sums - dh_builddeb - - -# Build architecture-dependent files here. -binary-arch: build install -# Nothing to do - -# For using debian/patches with Mercurial Queues -.PHONY: .hg/patches debian/patches -.hg/patches: - dh_testdir - rsync -av --delete debian/patches/ .hg/patches/ -debian/patches: - dh_testdir - rsync -av --delete .hg/patches/ debian/patches/ - rm -f debian/patches/status - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install +get-orig-source: + set -e ; \ + hg clone https://hg.edgewall.org/trac/mercurial-plugin; \ + VERSION=$$(python mercurial-plugin/setup.py --version) ; \ + cd mercurial-plugin/ ;\ + REVISION=$$( LANG=C hg tip | grep changeset | cut -d":" -f3) ; \ + cd .. ; \ + find mercurial-plugin/ -iname "*pyc" -exec rm {} \; ; \ + rm -rf mercurial-plugin/.hg ; \ + tar cfz trac-mercurial_$$VERSION+hg$$REVISION.orig.tar.gz mercurial-plugin/ ; \ + rm -rf mercurial-plugin/ ; diff -Nru trac-mercurial-0.12.0.28/debian/watch trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/watch --- trac-mercurial-0.12.0.28/debian/watch 1970-01-01 00:00:00.000000000 +0000 +++ trac-mercurial-1.0.0.3+hg8df754d9b36a/debian/watch 2013-06-24 23:11:53.000000000 +0000 @@ -0,0 +1,2 @@ +# Upstream development is done entirely in Mercurial. +# To fetch the latest version you can use 'debian/rules get-orig-source' diff -Nru trac-mercurial-0.12.0.28/setup.cfg trac-mercurial-1.0.0.3+hg8df754d9b36a/setup.cfg --- trac-mercurial-0.12.0.28/setup.cfg 2011-11-22 21:38:10.000000000 +0000 +++ trac-mercurial-1.0.0.3+hg8df754d9b36a/setup.cfg 2013-03-04 21:34:56.000000000 +0000 @@ -1,10 +1,10 @@ [egg_info] -tag_build = -#tag_svn_revision = true +tag_build = dev +tag_svn_revision = true [extract_messages] add_comments = TRANSLATOR: -msgid_bugs_address = cboos@neuf.fr +msgid_bugs_address = cboos@edgewall.org output_file = tracext/hg/locale/messages.pot keywords = _ ngettext:1,2 N_ tag_ width = 72 diff -Nru trac-mercurial-0.12.0.28/setup.py trac-mercurial-1.0.0.3+hg8df754d9b36a/setup.py --- trac-mercurial-0.12.0.28/setup.py 2011-02-28 20:47:33.000000000 +0000 +++ trac-mercurial-1.0.0.3+hg8df754d9b36a/setup.py 2013-03-04 21:34:56.000000000 +0000 @@ -1,4 +1,18 @@ #!/usr/bin/env python +# -*- coding: iso-8859-1 -*- +# +# Copyright (C) 2005-2012 Edgewall Software +# Copyright (C) 2005-2012 Christian Boos +# All rights reserved. +# +# This software may be used and distributed according to the terms +# of the GNU General Public License, incorporated herein by reference. +# +# This software consists of voluntary contributions made by many +# individuals. For the exact contribution history, see the revision +# history and logs, available at http://trac.edgewall.org/log/. +# +# Author: Christian Boos from setuptools import setup, find_packages @@ -22,20 +36,17 @@ TracMercurial = 'http://trac.edgewall.org/wiki/TracMercurial' setup(name='TracMercurial', - install_requires='Trac >=0.12dev-r9125', - description='Mercurial plugin for Trac multirepos branch', + install_requires='Trac >=1.0dev', + description='Mercurial plugin for Trac (1.0 branch)', keywords='trac scm plugin mercurial hg', - version='0.12.0.28', + version='1.0.0.3', url=TracMercurial, license='GPL', author='Christian Boos', - author_email='cboos@neuf.fr', + author_email='cboos@edgewall.org', long_description=""" - This plugin for Trac 0.12 provides support for the Mercurial SCM. + This plugin for Trac 1.0 provides support for the Mercurial SCM. - '''The http://trac.edgewall.org/browser/sandbox/multirepos branch is - required.''' - See %s for more details. """ % TracMercurial, namespace_packages=['tracext'], diff -Nru trac-mercurial-0.12.0.28/tracext/hg/backend.py trac-mercurial-1.0.0.3+hg8df754d9b36a/tracext/hg/backend.py --- trac-mercurial-0.12.0.28/tracext/hg/backend.py 2011-07-11 21:01:17.000000000 +0000 +++ trac-mercurial-1.0.0.3+hg8df754d9b36a/tracext/hg/backend.py 2013-03-04 21:34:56.000000000 +0000 @@ -1,16 +1,21 @@ # -*- coding: iso-8859-1 -*- # -# Copyright (C) 2005 Edgewall Software -# Copyright (C) 2005-2007 Christian Boos +# Copyright (C) 2005-2012 Edgewall Software +# Copyright (C) 2005-2012 Christian Boos # All rights reserved. # # This software may be used and distributed according to the terms # of the GNU General Public License, incorporated herein by reference. # -# Author: Christian Boos +# This software consists of voluntary contributions made by many +# individuals. For the exact contribution history, see the revision +# history and logs, available at http://trac.edgewall.org/log/. +# +# Author: Christian Boos from bisect import bisect from datetime import datetime +from heapq import heappop, heappush import os import time import posixpath @@ -81,9 +86,12 @@ hg_import_error = "Couldn't import symbols: "+','.join(hg_import_error) # Mercurial versions >= 1.2 won't have mercurial.repo.RepoError anymore - from mercurial.repo import RepoError + try: + from mercurial.repo import RepoError + except ImportError: # Mercurial 2.3.1 doesn't even have mercurial.repo! + RepoError = None from mercurial.revlog import LookupError as HgLookupError - if repr(RepoError) == "": + if RepoError is None or repr(RepoError) == "": from mercurial.error import RepoError, LookupError as HgLookupError # Force local encoding to be non-lossy (#7217) @@ -101,7 +109,8 @@ else: from mercurial.scmutil import match - + has_bookmarks = None + except ImportError, e: hg_import_error = e ui = object @@ -136,6 +145,15 @@ if check(s): return s +def get_bookmarks(ctx): + global has_bookmarks + if has_bookmarks: + return ctx.bookmarks() + if has_bookmarks is None: + has_bookmarks = hasattr(ctx, 'bookmarks') + if has_bookmarks: + return get_bookmarks(ctx) + return () class trac_ui(ui): # Note: will be dropped in 0.13, see MercurialConnector._setup_ui @@ -164,16 +182,34 @@ ### Components +def render_source_prop(repos, context, name, value): + try: + ctx = repos.changectx(value) + chgset = MercurialChangeset(repos, ctx) + href = context.href.changeset(ctx.hex(), repos.reponame) + link = tag.a(repos._display(ctx), class_="changeset", + title=shorten_line(chgset.message), href=href) + except NoSuchChangeset: + link = tag.a(hex(value), class_="missing changeset", + title=_("no such changeset"), rel="nofollow") + return RenderedProperty(name=name, content=link, + name_attributes=[("class", "property")]) + + class CsetPropertyRenderer(Component): implements(IPropertyRenderer) def match_property(self, name, mode): return (name.startswith('hg-') and - name[3:] in ('Parents', 'Children', 'Tags', 'Branch') and + name[3:] in ('Parents', 'Children', 'Tags', 'Branch', + 'Bookmarks', 'source') and mode == 'revprop') and 4 or 0 def render_property(self, name, mode, context, props): + if name == 'hg-source': + repos, value = props[name] + return render_source_prop(repos, context, _("Graft:"), value) return RenderedProperty(name=gettext(name[3:] + ':'), name_attributes=[("class", "property")], content=self._render_property(name, mode, context, props)) @@ -231,18 +267,7 @@ def render_property(self, name, mode, context, props): repos, value = props[name] if name == 'hg-transplant_source': - try: - ctx = self.changectx(value) - chgset = MercurialChangeset(repos, ctx) - href = context.href.changeset(ctx.hex(), repos.reponame) - link = tag.a(repos._display(ctx), class_="changeset", - title=shorten_line(chgset.message), href=href) - except NoSuchChangeset: - link = tag.a(hex(value), class_="missing changeset", - title=_("no such changeset"), rel="nofollow") - return RenderedProperty(name=_("Transplant:"), content=link, - name_attributes=[("class", "property")]) - + return render_source_prop(repos, context, _("Transplant:"), value) elif name == 'hg-convert_revision': text = repos.to_u(value) if value.startswith('svn:'): @@ -718,6 +743,9 @@ for c in ctx.children(): return c.hex() # always follow first child + def parent_revs(self, rev): + return [p.hex() for p in self.changectx(rev).parents()] + def rev_older_than(self, rev1, rev2): # FIXME use == and ancestors? return self.short_rev(rev1) < self.short_rev(rev2) @@ -877,8 +905,8 @@ if not dirctx: # we need to find the most recent change for a file below dir str_dir = str_path + '/' - dirctxs = self.find_dirctx(changectx.rev(), [str_dir,], - {str_dir: str_entries}) + dirctxs = self._find_dirctx(changectx.rev(), [str_dir,], + {str_dir: str_entries}) dirctx = dirctxs.values()[0] if not kind: @@ -899,13 +927,13 @@ self.created_rev = created_rev self.data = None - def find_dirctx(self, max_rev, str_dirnames, str_entries): + def _find_dirctx(self, max_rev, str_dirnames, str_entries): """Find most recent modification for each given directory path. :param max_rev: find no revision more recent than this one :param str_dirnames: directory paths to consider - (as `str` ending with '/') - :param str_entries: optionally maps directories to their file content + (list of `str` ending with '/') + :param str_entries: maps each directory to the files it contains :return: a `dict` with `str_dirnames` as keys, `changectx` as values @@ -922,33 +950,52 @@ each directory; this is much faster but can still be slow if some folders are only modified in the distant past - It is possible to combine both approach, and this can yield - excellent results in some cases (e.g. browsing the Linux repos - @ 118733 takes several minutes with the first approach, 11s - with the second, but only 1.2s with the hybrid approach) + It is possible to combine both approaches, and this can + produce excellent results in some cases, for example browsing + the root of the Hg mirror of the Linux repository (at revision + 118733) takes several minutes with the first approach, 11s + with the second, but only 1.2s with the hybrid approach. Note that the specialized scan of the changelog we do below is - more efficient than the general cmdutil.walkchangerevs here. + more efficient than the general cmdutil.walkchangerevs. """ str_dirctxs = {} repo = self.repos.repo max_ctx = repo[max_rev] - for r in xrange(max_rev, -1, -1): + orevs = [-max_rev] + revs = set(orevs) + while orevs: + r = -heappop(orevs) ctx = repo[r] + for p in ctx.parents(): + if p and p.rev() not in revs: + revs.add(p.rev()) + heappush(orevs, -p.rev()) # lookup changes to str_dirnames in current cset for str_file in ctx.files(): for str_dir in str_dirnames[:]: if str_file.startswith(str_dir): + # rev for str_dir was found using first strategy str_dirctxs[str_dir] = ctx str_dirnames.remove(str_dir) - if not str_dirnames: # if nothing left to find + if not str_dirnames: # nothing left to find return str_dirctxs - # in parallel, try the filelog strategy (the 463, 2, 40 + + # In parallel, try the filelog strategy (the 463, 2, 40 # values below look a bit like magic numbers; actually # they were selected by testing the plugin on the Linux # and NetBeans repositories) - if r % 463 == 0: - k = max(2, 40 / len(str_dirnames)) + + # only use the filelog strategy every `n` revs + n = 463 + + # k, the number of files to examine per directory, + # will be comprised between `min_files` and `max_files` + min_files = 2 + max_files = 40 # (will be the max if there's only one dir left) + + if r % n == 0: + k = max(min_files, max_files / len(str_dirnames)) for str_dir in str_dirnames[:]: str_files = str_entries[str_dir] dr = str_dirctxs.get(str_dir, 0) @@ -956,9 +1003,13 @@ dr = max(dr, max_ctx.filectx(f).linkrev()) str_files = str_files[k:] if str_files: + # not all files for str_dir seen yet, + # store max rev found so far str_entries[str_dir] = str_files str_dirctxs[str_dir] = dr else: + # all files for str_dir were examined, + # rev found using filelog strategy str_dirctxs[str_dir] = repo[dr] str_dirnames.remove(str_dir) if not str_dirnames: @@ -1022,14 +1073,13 @@ # pre-computing the changectx for the last change in each sub-directory if str_dirnames: - dirctxs = self.find_dirctx(self.created_rev, str_dirnames, - str_entries) + dirctxs = self._find_dirctx(self.created_rev, str_dirnames, + str_entries) else: dirctxs = {} for str_entry in str_entries: - yield self.subnode(str_entry.rstrip('/'), - dirctxs.get(str_entry, None)) + yield self.subnode(str_entry.rstrip('/'), dirctxs.get(str_entry)) def get_history(self, limit=None): repo = self.repos.repo @@ -1037,7 +1087,7 @@ if self.str_path: pats.append('path:' + self.str_path) opts = {'rev': ['%s:0' % self.changectx.hex()]} - if self.isfile: + if self.isfile and self.repos.version_info < (2, 1, 1): opts['follow'] = True if arity(cmdutil.walkchangerevs) == 4: return self._get_history_1_4(repo, pats, opts, limit) @@ -1161,7 +1211,8 @@ Changeset.__init__(self, repos, ctx.hex(), desc, user, time) hg_properties = [ - N_("Parents:"), N_("Children:"), N_("Branch:"), N_("Tags:") + N_("Parents:"), N_("Children:"), N_("Branch:"), N_("Tags:"), + N_("Bookmarks:") ] def get_properties(self): @@ -1176,10 +1227,12 @@ [c.hex() for c in children]) if self.branch: properties['hg-Branch'] = (self.repos, [self.branch]) - tags = self.ctx.tags() + tags = self.get_tags() if len(tags): - properties['hg-Tags'] = (self.repos, - [self.repos.to_u(t) for t in tags]) + properties['hg-Tags'] = (self.repos, tags) + bookmarks = get_bookmarks(self.ctx) + if len(bookmarks): + properties['hg-Bookmarks'] = (self.repos, bookmarks) for k, v in self.ctx.extra().iteritems(): if k != 'branch': properties['hg-' + k] = (self.repos, v) @@ -1231,5 +1284,9 @@ def get_branches(self): """Yield branch names to which this changeset belong.""" - return self.branch and [(self.branch, - len(self.ctx.children()) == 0)] or [] + if self.branch: + yield (self.branch, len(self.ctx.children()) == 0) + + def get_tags(self): + """Yield tag names to which this changeset belong.""" + return [self.repos.to_u(t) for t in self.ctx.tags()] diff -Nru trac-mercurial-0.12.0.28/tracext/hg/hooks.py trac-mercurial-1.0.0.3+hg8df754d9b36a/tracext/hg/hooks.py --- trac-mercurial-0.12.0.28/tracext/hg/hooks.py 2011-08-20 07:07:38.000000000 +0000 +++ trac-mercurial-1.0.0.3+hg8df754d9b36a/tracext/hg/hooks.py 2013-03-04 21:34:56.000000000 +0000 @@ -1,10 +1,15 @@ # -*- coding: iso-8859-1 -*- # -# Copyright (C) 2011 Edgewall Software +# Copyright (C) 2011-2012 Edgewall Software # All rights reserved. # # This software may be used and distributed according to the terms # of the GNU General Public License, incorporated herein by reference. +# +# This software consists of voluntary contributions made by many +# individuals. For the exact contribution history, see the revision +# history and logs, available at http://trac.edgewall.org/log/. + """ Mercurial hook calling `trac-admin $ENV changeset added` for newly added @@ -101,7 +106,7 @@ try: revs_per_call = int(ui.config('trac', 'revs_per_call')) except (TypeError, ValueError): - revs_per_call = os.name == 'nt' and 160 or 1000 + revs_per_call = 160 if os.name == 'nt' else 1000 trac_admin = expand_path(trac_admin) for i in xrange(0, len(revs), revs_per_call): diff -Nru trac-mercurial-0.12.0.28/tracext/hg/locale/fr/LC_MESSAGES/tracmercurial.po trac-mercurial-1.0.0.3+hg8df754d9b36a/tracext/hg/locale/fr/LC_MESSAGES/tracmercurial.po --- trac-mercurial-0.12.0.28/tracext/hg/locale/fr/LC_MESSAGES/tracmercurial.po 2010-05-09 15:30:54.000000000 +0000 +++ trac-mercurial-1.0.0.3+hg8df754d9b36a/tracext/hg/locale/fr/LC_MESSAGES/tracmercurial.po 2013-03-04 21:34:56.000000000 +0000 @@ -1,34 +1,43 @@ # French (France) translations for TracMercurial. -# Copyright (C) 2008 ORGANIZATION +# Copyright (C) 2008-2012 Edgewall Software # This file is distributed under the same license as the TracMercurial # project. -# FIRST AUTHOR , 2008. +# +# Christian Boos , 2008-2012. # msgid "" msgstr "" "Project-Id-Version: TracMercurial 0.12.0.4\n" -"Report-Msgid-Bugs-To: cboos@neuf.fr\n" -"POT-Creation-Date: 2008-11-13 12:33+0100\n" +"Report-Msgid-Bugs-To: cboos@edgewall.org\n" +"POT-Creation-Date: 2012-09-17 21:00+0200\n" "PO-Revision-Date: 2009-11-19 16:22+0100\n" -"Last-Translator: Christian Boos \n" +"Last-Translator: Christian Boos \n" "Language-Team: fr_FR \n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.4\n" +"Generated-By: Babel 1.0dev\n" + +#: tracext/hg/backend.py:184 +msgid "no such changeset" +msgstr "pas de révision" + +#: tracext/hg/backend.py:202 +msgid "Graft:" +msgstr "Greffe :" -#: tracext/hg/backend.py:99 +#: tracext/hg/backend.py:203 msgid ":" -msgstr "" +msgstr " :" -#: tracext/hg/backend.py:114 +#: tracext/hg/backend.py:225 msgid "Diff against this parent (show the changes merged from the other parents)" msgstr "" "Différences vis-à-vis de ce parent (montre les changements apportés par " "l'autre parent)" -#: tracext/hg/backend.py:124 +#: tracext/hg/backend.py:235 #, python-format msgid "" "Note: this is a %(merge)s changeset, the changes displayed below " @@ -37,7 +46,7 @@ "Note: ceci est un changeset de type %(merge)s, les modifications ci-" "dessous correspondent au merge lui-même." -#: tracext/hg/backend.py:132 +#: tracext/hg/backend.py:243 #, python-format msgid "" "Use the %(diff)s links above to see all the changes relative to each " @@ -46,37 +55,42 @@ "Utilisez les liens %(diff)s ci-dessus pour voir les modifications " "relatives à chaque parent." -#: tracext/hg/backend.py:155 -msgid "no such changeset" -msgstr "pas de révisio" - -#: tracext/hg/backend.py:156 +#: tracext/hg/backend.py:260 msgid "Transplant:" -msgstr "" +msgstr "Transplant :" -#: tracext/hg/backend.py:173 +#: tracext/hg/backend.py:273 +msgid "Changeset in source repository" +msgstr "Modification dans le dépôt d'origine" + +#: tracext/hg/backend.py:275 +msgid "Convert:" +msgstr "Conversion :" + +#: tracext/hg/backend.py:300 msgid "(binary, size greater than 100 bytes)" msgstr "(binaire, taille supérieure à 100 octets)" -#: tracext/hg/backend.py:285 +#: tracext/hg/backend.py:461 #, python-format msgid "Repository '%(repo)s' not found" -msgstr "Dépôt '%(repo)s' non trouvé" +msgstr "Dépôt « %(repo)s »' non trouvé" -#: tracext/hg/backend.py:344 +#: tracext/hg/backend.py:527 #, python-format -msgid "%(path)s does not appear to contain a Mercurial repository." -msgstr "%(path)s ne semble pas contenir un dépôt Mercurial" - -#: tracext/hg/backend.py:566 -msgid "The Base for Diff is invalid" -msgstr "" +msgid "Repository path '%(path)s' does not exist." +msgstr "Chemin du dépôt « %(path)s » inexistant." -#: tracext/hg/backend.py:571 -msgid "The Target for Diff is invalid" +#: tracext/hg/backend.py:535 +#, python-format +msgid "" +"'%(path)s' does not appear to contain a repository (Mercurial %(version)s" +" says %(error)s)" msgstr "" +"%(path)s ne semble pas contenir un dépôt Mercurial (Mercurial %(version)s" +" reporte l'erreur suivante : %(error)s)" -#: tracext/hg/backend.py:575 +#: tracext/hg/backend.py:764 #, python-format msgid "" "Diff mismatch: Base is a %(okind)s (%(opath)s in revision %(orev)s) and " @@ -86,24 +100,28 @@ "révision %(orev)s) et Destination est un %(nkind)s (%(npath)s dans la " "révision %(nrev)s)." -#: tracext/hg/backend.py:719 +#: tracext/hg/backend.py:1026 #, python-format msgid "Can't read from directory %(path)s" msgstr "Lecture du répertoire %(path)s impossible" -#: tracext/hg/backend.py:892 +#: tracext/hg/backend.py:1204 msgid "Parents:" msgstr "Ascendants :" -#: tracext/hg/backend.py:892 +#: tracext/hg/backend.py:1204 msgid "Children:" msgstr "Descendants :" -#: tracext/hg/backend.py:892 +#: tracext/hg/backend.py:1204 msgid "Branch:" msgstr "Branche :" -#: tracext/hg/backend.py:892 +#: tracext/hg/backend.py:1204 msgid "Tags:" msgstr "Tags :" +#: tracext/hg/backend.py:1205 +msgid "Bookmarks:" +msgstr "Signets :" + diff -Nru trac-mercurial-0.12.0.28/tracext/hg/locale/messages.pot trac-mercurial-1.0.0.3+hg8df754d9b36a/tracext/hg/locale/messages.pot --- trac-mercurial-0.12.0.28/tracext/hg/locale/messages.pot 2009-11-19 15:32:23.000000000 +0000 +++ trac-mercurial-1.0.0.3+hg8df754d9b36a/tracext/hg/locale/messages.pot 2013-03-04 21:34:56.000000000 +0000 @@ -1,102 +1,117 @@ # Translations template for TracMercurial. -# Copyright (C) 2009 ORGANIZATION +# Copyright (C) 2012 ORGANIZATION # This file is distributed under the same license as the TracMercurial # project. -# FIRST AUTHOR , 2009. +# FIRST AUTHOR , 2012. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: TracMercurial 0.12.0.9\n" -"Report-Msgid-Bugs-To: cboos@neuf.fr\n" -"POT-Creation-Date: 2009-11-19 16:21+0100\n" +"Project-Id-Version: TracMercurial 1.0.0.3\n" +"Report-Msgid-Bugs-To: cboos@edgewall.org\n" +"POT-Creation-Date: 2012-09-17 21:00+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.4\n" +"Generated-By: Babel 1.0dev\n" -#: tracext/hg/backend.py:99 +#: tracext/hg/backend.py:184 +msgid "no such changeset" +msgstr "" + +#: tracext/hg/backend.py:202 +msgid "Graft:" +msgstr "" + +#: tracext/hg/backend.py:203 msgid ":" msgstr "" -#: tracext/hg/backend.py:114 +#: tracext/hg/backend.py:225 msgid "" "Diff against this parent (show the changes merged from the other " "parents)" msgstr "" -#: tracext/hg/backend.py:124 +#: tracext/hg/backend.py:235 #, python-format msgid "" "Note: this is a %(merge)s changeset, the changes displayed below " "correspond to the merge itself." msgstr "" -#: tracext/hg/backend.py:132 +#: tracext/hg/backend.py:243 #, python-format msgid "" "Use the %(diff)s links above to see all the changes relative to each " "parent." msgstr "" -#: tracext/hg/backend.py:155 -msgid "no such changeset" +#: tracext/hg/backend.py:260 +msgid "Transplant:" msgstr "" -#: tracext/hg/backend.py:156 -msgid "Transplant:" +#: tracext/hg/backend.py:273 +msgid "Changeset in source repository" msgstr "" -#: tracext/hg/backend.py:173 +#: tracext/hg/backend.py:275 +msgid "Convert:" +msgstr "" + +#: tracext/hg/backend.py:300 msgid "(binary, size greater than 100 bytes)" msgstr "" -#: tracext/hg/backend.py:285 +#: tracext/hg/backend.py:461 #, python-format msgid "Repository '%(repo)s' not found" msgstr "" -#: tracext/hg/backend.py:344 +#: tracext/hg/backend.py:527 #, python-format -msgid "%(path)s does not appear to contain a Mercurial repository." -msgstr "" - -#: tracext/hg/backend.py:566 -msgid "The Base for Diff is invalid" +msgid "Repository path '%(path)s' does not exist." msgstr "" -#: tracext/hg/backend.py:571 -msgid "The Target for Diff is invalid" +#: tracext/hg/backend.py:535 +#, python-format +msgid "" +"'%(path)s' does not appear to contain a repository (Mercurial " +"%(version)s says %(error)s)" msgstr "" -#: tracext/hg/backend.py:575 +#: tracext/hg/backend.py:764 #, python-format msgid "" "Diff mismatch: Base is a %(okind)s (%(opath)s in revision %(orev)s) " "and Target is a %(nkind)s (%(npath)s in revision %(nrev)s)." msgstr "" -#: tracext/hg/backend.py:719 +#: tracext/hg/backend.py:1026 #, python-format msgid "Can't read from directory %(path)s" msgstr "" -#: tracext/hg/backend.py:892 +#: tracext/hg/backend.py:1204 msgid "Parents:" msgstr "" -#: tracext/hg/backend.py:892 +#: tracext/hg/backend.py:1204 msgid "Children:" msgstr "" -#: tracext/hg/backend.py:892 +#: tracext/hg/backend.py:1204 msgid "Branch:" msgstr "" -#: tracext/hg/backend.py:892 +#: tracext/hg/backend.py:1204 msgid "Tags:" msgstr "" +#: tracext/hg/backend.py:1205 +msgid "Bookmarks:" +msgstr "" +