* Re: Fix signal handler
From: Shawn O. Pearce @ 2010-02-03 15:52 UTC (permalink / raw)
To: Markus Elfring; +Cc: Thomas Rast, Jeff King, git
In-Reply-To: <4B699A45.7000905@web.de>
Markus Elfring <Markus.Elfring@web.de> wrote:
> >
> > So why don't you post patches (either fixes or testcases exhibiting
> > the issue) instead of more mails containing the same points?
> >
>
> I try to get a feeling about acceptance for update suggestions before
> they can be expressed in the target programming language.
We've been burned too many times by people who drive-by and demand
we fix X, without showing proof that X is a problem, or offering
a patch to resolve whatever X they claim is an issue. Each such
time burns existing well-known contributor time.
We've also been burned too many times by well-known contributors
posting "Hey, we should do Y" and then never actually writing the
code themselves. I know, I've done it.
Pie-in-the-sky discussions serve no purpose, and just waste
everyone's time.
If its worthwhile, write the damn code, and share it. If its not
worth your time to write the code in order to propose the idea,
its not worth our time to listen.
I've never kill-filed _ANYONE_ on this mailing list before. You are
>.< this close to making me go figure out how to setup a kill file
on my domain just so I can stop receving all emails from you.
--
Shawn.
^ permalink raw reply
* Re: faceted search interface
From: John Tapsell @ 2010-02-03 15:47 UTC (permalink / raw)
To: Alex Ksikes; +Cc: git
In-Reply-To: <E1NceXz-0003VA-QG@mail.chiefmall.com>
On 3 February 2010 12:41, Alex Ksikes <alex@chiefmall.com> wrote:
> Hi all,
>
> I have just put together a system to automatically build a faceted search interface and search engine from any data. Would you mind having a look at it and letting me know what you think of it?
I get vertical scrollbars for the search box. This can be reproduced
by zooming in/out.
I think the "Powered by Cloud mining" box should be removed.
Remove "Select / remove query terms:" - it's obvious what to do with
the big X button. Make the red "Brad Pitt [X]" thinner - reduce the
whitespace.
Remove (Time to generate facets: 0.0 sec.).
Remove "Torrent search". People who want to get it illegally can
search by themselves, and you do not want to be prompting illegal
behaviour.
Make the search box less thick. You need to do this because the site
is so visually heavy, but work on cleaning up the rest of the site
instead.
I like the "Refine by GENRE" etc boxes, but it's extremely visually
noisy. Different size fonts, no layout, different colors, etc. I'm
not sure what to suggest - maybe making them expandable boxes that
collapsed by default.
Work on reducing the information shown for each movie. The key is to
reduce visual noise as much as possible. I like how you have a [+]
box to hide some information. Can you do this more though?
^ permalink raw reply
* Re: Fix signal handler
From: Markus Elfring @ 2010-02-03 15:46 UTC (permalink / raw)
To: Thomas Rast; +Cc: Jeff King, git
In-Reply-To: <201002031412.53195.trast@student.ethz.ch>
>
> So why don't you post patches (either fixes or testcases exhibiting
> the issue) instead of more mails containing the same points?
>
I try to get a feeling about acceptance for update suggestions before
they can be expressed in the target programming language.
The "correct" wording in the source code might become more work than you
might agree with.
Regards,
Markus
^ permalink raw reply
* Re: [BUG] - "git commit --amend" commits, when exiting the editor with no changes written
From: Eugene Sajine @ 2010-02-03 15:45 UTC (permalink / raw)
To: Matthieu Moy
Cc: kusmabite, Johannes Schindelin, Wincent Colaiuta, Avery Pennarun,
Jacob Helwig, git
In-Reply-To: <vpqeil2kc6b.fsf@bauges.imag.fr>
On Wed, Feb 3, 2010 at 2:31 AM, Matthieu Moy
<Matthieu.Moy@grenoble-inp.fr> wrote:
> Eugene Sajine <euguess@gmail.com> writes:
>
>> Thank you, but I'm not wrong, as i described the exact same thing
>> somewhere in my second or third message, without even knowing the
>> implementation details. I understand the reason WHY it is like it is,
>> i just don't like it as it is inconsistent and IMHO incorrect.
>
> Just try:
>
> Create a file.
> 1) Launch emacs, save and quit.
> 2) Launch emacs, don't save, and quit.
>
> From outside, it's EXACTLY the same thing. In the first case, emacs
> will just tell you "no change need to be saved" and quit, in the
> second, it'll quit. Try deleting the file in the meantime, it won't
> change the behavior.
>
> Now, what would you do about this? Ignore Emacs and force people to
> use vi?
>
> People have been spending a whole thread to explain you that it's not
> going to work. I think it'll either be time to acknowledge that, or to
> learn C and write a patch. Or perhaps try to write it in Java to
> understand why it doesn't work.
>
> --
> Matthieu Moy
> http://www-verimag.imag.fr/~moy/
>
Tell me you're not serious, please;) I'm working with computers for
more than 20 years and I do understand how editors are opening files.
If you are serious though...:
Please, do not assume i don't understand that file opened in editor
and saved with no changes will be the same as not saved.
Please, do not assume i don't understand that current implementation
does not allow to correctly abort by simply quiting the editor,
because it uses the file content only to verify if it can proceed.
I will stop trying to explain the problem here, but the solution, that
i think should work:
The solution should be as Avery proposed - to monitor file
modification timestamp as well as the content.
Timestamp should be remembered by git when editor is fired up and then
checked when you're exiting the editor. If it is the same - it means
that user canceled the whole operation by not confirming the file
content by save. If the timestamp is bigger than the saved one and the
message is not empty - we can proceed. Something like that.
And finally:
I DO highly appreciate everybody's time spent on every discussion and
particularly this one. I ask you to excuse me if i was failing to
properly express my thoughts or if i was too emotional at times.
Thanks a lot,
Eugene
^ permalink raw reply
* Re: git am fails to add new files
From: Jeff King @ 2010-02-03 15:33 UTC (permalink / raw)
To: Thomas Koch; +Cc: git
In-Reply-To: <201002021607.25719.thomas@koch.ro>
On Tue, Feb 02, 2010 at 04:07:25PM +0100, Thomas Koch wrote:
> I'm using GIT on Debian unstable (1.6.6.1). When applying patches I created
> with git format-patch and applying them afterwards with git am, this fails
> with every patch that adds a new file.
> Is there any option I forgot to give to git am? Or is this a bug.
No, it should just work. However, I can't replicate your problem using
the following script:
mkdir repo && cd repo && git init &&
echo 1 >file-1 && git add . && git commit -m one &&
echo 2 >file-2 && git add . && git commit -m two &&
git format-patch -1 --stdout >patch &&
git reset --hard HEAD^ &&
echo Confirm that file-2 is gone... &&
! grep . file-2 &&
git am patch &&
echo Confirm that file-2 is back... &&
grep . file-2
So perhaps there is something else going on. Can you provide us with
samples of the patches that fail to apply? What does "git am" say when
it tries to apply?
-Peff
^ permalink raw reply
* [PATCH] git gui spanish translation.
From: Alejandro Riveira Fernández @ 2010-02-01 19:51 UTC (permalink / raw)
It is the first try maybe we can later come up with
better translations for some verbs and nouns that do
not have a good short translation in spanish ...
---
git-gui/po/es.po | 2546 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 2546 insertions(+), 0 deletions(-)
create mode 100644 git-gui/po/es.po
diff --git a/git-gui/po/es.po b/git-gui/po/es.po
new file mode 100644
index 0000000..7e1cd34
--- /dev/null
+++ b/git-gui/po/es.po
@@ -0,0 +1,2546 @@
+# git-gui translation to spanish
+# Copyright (C) 2010 "Shawn O. Pearce" <spearce@spearce.org>
+# This file is distributed under the same license as the git-gui package.
+# alejandro Riveira Fernández <ariveira@gmail.com>, 2010.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: git-gui\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-12-08 08:31-0800\n"
+"PO-Revision-Date: 2010-02-03 15:59+0100\n"
+"Last-Translator: Alejandro Riveira Fernández <ariveira@gmail.com>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: git-gui.sh:41 git-gui.sh:737 git-gui.sh:751 git-gui.sh:764 git-gui.sh:847
+#: git-gui.sh:866
+msgid "git-gui: fatal error"
+msgstr "git-gui: erro fatal"
+
+#: git-gui.sh:689
+#, tcl-format
+msgid "Invalid font specified in %s:"
+msgstr "Fuente especificada no válida en %s:"
+
+#: git-gui.sh:723
+msgid "Main Font"
+msgstr "Fuente Principal"
+
+#: git-gui.sh:724
+msgid "Diff/Console Font"
+msgstr "Fuente para Parches/Consola"
+
+#: git-gui.sh:738
+msgid "Cannot find git in PATH."
+msgstr "git no se encontra en PATH."
+
+#: git-gui.sh:765
+msgid "Cannot parse Git version string:"
+msgstr "No se puede analizar la cadena de version de Git:"
+
+#: git-gui.sh:783
+#, tcl-format
+msgid ""
+"Git version cannot be determined.\n"
+"\n"
+"%s claims it is version '%s'.\n"
+"\n"
+"%s requires at least Git 1.5.0 or later.\n"
+"\n"
+"Assume '%s' is version 1.5.0?\n"
+msgstr ""
+"No se puede determinar la version de Git,\n"
+"\n"
+"%s dice que es la version '%s',\n"
+"\n"
+"%s requeire al menos Git 1.5.0 o superior.\n"
+"\n"
+"Asumir que '%s' es versión 1.5.0.?\n"
+
+#: git-gui.sh:1062
+msgid "Git directory not found:"
+msgstr "Directorio Git no encontrado:"
+
+#: git-gui.sh:1069
+msgid "Cannot move to top of working directory:"
+msgstr "No se ha podido cambiar al directorio de trabajo superior:"
+
+#: git-gui.sh:1076
+msgid "Cannot use funny .git directory:"
+msgstr "No se puede usar un directorio .git \"extraño\":"
+
+#: git-gui.sh:1081
+msgid "No working directory"
+msgstr "No hay directorio de trabajo"
+
+#: git-gui.sh:1247 lib/checkout_op.tcl:305
+msgid "Refreshing file status..."
+msgstr "Actualizando el estado del fichero..."
+
+#: git-gui.sh:1303
+msgid "Scanning for modified files ..."
+msgstr "Buscando ficheros modificados ..."
+
+#: git-gui.sh:1367
+msgid "Calling prepare-commit-msg hook..."
+msgstr "Llamando al gancho prepare-commit-hook..."
+
+#: git-gui.sh:1384
+msgid "Commit declined by prepare-commit-msg hook."
+msgstr "Revisión rechazada por el gancho prepare-commit-msg."
+
+#: git-gui.sh:1542 lib/browser.tcl:246
+msgid "Ready."
+msgstr "Listo."
+
+#: git-gui.sh:1726
+#, tcl-format
+msgid "Displaying only %s of %s files."
+msgstr "Mostrando solo %s de %s ficheros."
+
+#: git-gui.sh:1819
+msgid "Unmodified"
+msgstr "No modificado"
+
+#: git-gui.sh:1821
+msgid "Modified, not staged"
+msgstr "Modificado, no preparado"
+
+#: git-gui.sh:1822 git-gui.sh:1830
+msgid "Staged for commit"
+msgstr "Preparado para nueva revisión"
+
+#: git-gui.sh:1823 git-gui.sh:1831
+msgid "Portions staged for commit"
+msgstr "Secciones preparadas para nueva revisión"
+
+#: git-gui.sh:1824 git-gui.sh:1832
+msgid "Staged for commit, missing"
+msgstr "Preparado para nueva revisión, faltan"
+
+#: git-gui.sh:1826
+msgid "File type changed, not staged"
+msgstr "Tipo de fichero ha cambiado, no preparado"
+
+#: git-gui.sh:1827
+msgid "File type changed, staged"
+msgstr "Tipo de fichero ha cambiado, preparado"
+
+#: git-gui.sh:1829
+msgid "Untracked, not staged"
+msgstr "No registrado, no preparado"
+
+#: git-gui.sh:1834
+msgid "Missing"
+msgstr "Falta"
+
+#: git-gui.sh:1835
+msgid "Staged for removal"
+msgstr "Preparado para borrar"
+
+#: git-gui.sh:1836
+msgid "Staged for removal, still present"
+msgstr "Preparado para borrado, todavÃa presente"
+
+#: git-gui.sh:1838 git-gui.sh:1839 git-gui.sh:1840 git-gui.sh:1841
+#: git-gui.sh:1842 git-gui.sh:1843
+msgid "Requires merge resolution"
+msgstr "Requiere la resolución de conflictos"
+
+#: git-gui.sh:1878
+msgid "Starting gitk... please wait..."
+msgstr "Ejecutando gitk... por favor espere..."
+
+#: git-gui.sh:1887
+msgid "Couldn't find gitk in PATH"
+msgstr "No se ha podido encontrar gitk en PATH"
+
+#: git-gui.sh:2280 lib/choose_repository.tcl:36
+msgid "Repository"
+msgstr "Repositorio"
+
+#: git-gui.sh:2281
+msgid "Edit"
+msgstr "Editar"
+
+#: git-gui.sh:2283 lib/choose_rev.tcl:561
+msgid "Branch"
+msgstr "Rama"
+
+#: git-gui.sh:2286 lib/choose_rev.tcl:548
+msgid "Commit@@noun"
+msgstr "Revisión"
+
+#: git-gui.sh:2289 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168
+msgid "Merge"
+msgstr "Fusión"
+
+#: git-gui.sh:2290 lib/choose_rev.tcl:557
+msgid "Remote"
+msgstr "Remoto"
+
+#: git-gui.sh:2293
+msgid "Tools"
+msgstr "Herramientas"
+
+#: git-gui.sh:2302
+msgid "Explore Working Copy"
+msgstr "Explorar la copia de trabajo"
+
+#: git-gui.sh:2307
+msgid "Browse Current Branch's Files"
+msgstr "Explore los ficheros de la rama actual"
+
+#: git-gui.sh:2311
+msgid "Browse Branch Files..."
+msgstr "Explora los ficheros de la rama..."
+
+#: git-gui.sh:2316
+msgid "Visualize Current Branch's History"
+msgstr "Visualiza la historia de la rama actual"
+
+#: git-gui.sh:2320
+msgid "Visualize All Branch History"
+msgstr "Visualiza la historia de todas las ramas"
+
+#: git-gui.sh:2327
+#, tcl-format
+msgid "Browse %s's Files"
+msgstr "Explora los ficheros de %s"
+
+#: git-gui.sh:2329
+#, tcl-format
+msgid "Visualize %s's History"
+msgstr "Visualiza la historia de %s"
+
+#: git-gui.sh:2334 lib/database.tcl:27 lib/database.tcl:67
+msgid "Database Statistics"
+msgstr "Estadisticas de la Base de Datos"
+
+#: git-gui.sh:2337 lib/database.tcl:34
+msgid "Compress Database"
+msgstr "Comprimir Base de Datos"
+
+#: git-gui.sh:2340
+msgid "Verify Database"
+msgstr "Verificar Base de Datos"
+
+#: git-gui.sh:2347 git-gui.sh:2351 git-gui.sh:2355 lib/shortcut.tcl:7
+#: lib/shortcut.tcl:39 lib/shortcut.tcl:71
+msgid "Create Desktop Icon"
+msgstr "Crear icono de escritorio"
+
+#: git-gui.sh:2363 lib/choose_repository.tcl:183 lib/choose_repository.tcl:191
+msgid "Quit"
+msgstr "Salir"
+
+#: git-gui.sh:2371
+msgid "Undo"
+msgstr "Deshacer"
+
+#: git-gui.sh:2374
+msgid "Redo"
+msgstr "Rehacer"
+
+#: git-gui.sh:2378 git-gui.sh:2937
+msgid "Cut"
+msgstr "Cortar"
+
+#: git-gui.sh:2381 git-gui.sh:2940 git-gui.sh:3014 git-gui.sh:3096
+#: lib/console.tcl:69
+msgid "Copy"
+msgstr "Copiar"
+
+#: git-gui.sh:2384 git-gui.sh:2943
+msgid "Paste"
+msgstr "Pegar"
+
+#: git-gui.sh:2387 git-gui.sh:2946 lib/branch_delete.tcl:26
+#: lib/remote_branch_delete.tcl:38
+msgid "Delete"
+msgstr "Borrar"
+
+#: git-gui.sh:2391 git-gui.sh:2950 git-gui.sh:3100 lib/console.tcl:71
+msgid "Select All"
+msgstr "Seleccionar Todo"
+
+#: git-gui.sh:2400
+msgid "Create..."
+msgstr "Crear..."
+
+#: git-gui.sh:2406
+msgid "Checkout..."
+msgstr "Activar..."
+
+#: git-gui.sh:2412
+msgid "Rename..."
+msgstr "Renombrar..."
+
+#: git-gui.sh:2417
+msgid "Delete..."
+msgstr "Borrar..."
+
+#: git-gui.sh:2422
+msgid "Reset..."
+msgstr "Reinicializar..."
+
+#: git-gui.sh:2432
+msgid "Done"
+msgstr "Hecho"
+
+#: git-gui.sh:2434
+msgid "Commit@@verb"
+msgstr "Crear Revisión"
+
+#: git-gui.sh:2443 git-gui.sh:2878
+msgid "New Commit"
+msgstr "Nueva Revisión"
+
+#: git-gui.sh:2451 git-gui.sh:2885
+msgid "Amend Last Commit"
+msgstr "Corregir última Revisión"
+
+#: git-gui.sh:2461 git-gui.sh:2839 lib/remote_branch_delete.tcl:99
+msgid "Rescan"
+msgstr "Reanalizar"
+
+#: git-gui.sh:2467
+msgid "Stage To Commit"
+msgstr "Preparar para crear nueva revisión"
+
+#: git-gui.sh:2473
+msgid "Stage Changed Files To Commit"
+msgstr "Preparar ficheros modificados para nueva revisión"
+
+#: git-gui.sh:2479
+msgid "Unstage From Commit"
+msgstr "Anular preparación para nueva revisión"
+
+#: git-gui.sh:2484 lib/index.tcl:410
+msgid "Revert Changes"
+msgstr "Anular cambios"
+
+#: git-gui.sh:2491 git-gui.sh:3083
+msgid "Show Less Context"
+msgstr "Mostrar menos contexto"
+
+#: git-gui.sh:2495 git-gui.sh:3087
+msgid "Show More Context"
+msgstr "Mostar mas contexto"
+
+#: git-gui.sh:2502 git-gui.sh:2852 git-gui.sh:2961
+msgid "Sign Off"
+msgstr "Sign Off"
+
+#: git-gui.sh:2518
+msgid "Local Merge..."
+msgstr "Fusión local..."
+
+#: git-gui.sh:2523
+msgid "Abort Merge..."
+msgstr "Anular fusión..."
+
+#: git-gui.sh:2535 git-gui.sh:2575
+msgid "Add..."
+msgstr "Añadir..."
+
+#: git-gui.sh:2539
+msgid "Push..."
+msgstr "Propagar..."
+
+#: git-gui.sh:2543
+msgid "Delete Branch..."
+msgstr "Borrar rama..."
+
+#: git-gui.sh:2553 git-gui.sh:2589 lib/about.tcl:14
+#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:53
+#, tcl-format
+msgid "About %s"
+msgstr "Sobre %s"
+
+#: git-gui.sh:2557
+msgid "Preferences..."
+msgstr "Preferencias..."
+
+#: git-gui.sh:2565 git-gui.sh:3129
+msgid "Options..."
+msgstr "Opciones..."
+
+#: git-gui.sh:2576
+msgid "Remove..."
+msgstr "Borrar..."
+
+#: git-gui.sh:2585 lib/choose_repository.tcl:50
+msgid "Help"
+msgstr "Ayuda"
+
+#: git-gui.sh:2611
+msgid "Online Documentation"
+msgstr "Documentacion en linea"
+
+#: git-gui.sh:2614 lib/choose_repository.tcl:47 lib/choose_repository.tcl:56
+msgid "Show SSH Key"
+msgstr "Mostrar clave SSH"
+
+#: git-gui.sh:2721
+#, tcl-format
+msgid "fatal: cannot stat path %s: No such file or directory"
+msgstr "fatal: stat path %s falló: No hay tal fichero o directorio"
+
+#: git-gui.sh:2754
+msgid "Current Branch:"
+msgstr "Rama actual:"
+
+#: git-gui.sh:2775
+msgid "Staged Changes (Will Commit)"
+msgstr "Cambios Preparados (crearán nueva revisión)"
+
+#: git-gui.sh:2795
+msgid "Unstaged Changes"
+msgstr "Cambios no preparados"
+
+#: git-gui.sh:2845
+msgid "Stage Changed"
+msgstr "Preparar Cambiados"
+
+#: git-gui.sh:2864 lib/transport.tcl:104 lib/transport.tcl:193
+msgid "Push"
+msgstr "Propagar"
+
+#: git-gui.sh:2899
+msgid "Initial Commit Message:"
+msgstr "Mensaje de la revisión inicial:"
+
+#: git-gui.sh:2900
+msgid "Amended Commit Message:"
+msgstr "Corregir el mensaje de la Revisión:"
+
+#: git-gui.sh:2901
+msgid "Amended Initial Commit Message:"
+msgstr "Corregir el mensaje de la revisión inicial:"
+
+#: git-gui.sh:2902
+msgid "Amended Merge Commit Message:"
+msgstr "Corregir el mensaje de la revisión de fusión:"
+
+#: git-gui.sh:2903
+msgid "Merge Commit Message:"
+msgstr "Mensaje de la revisión de Fusión:"
+
+#: git-gui.sh:2904
+msgid "Commit Message:"
+msgstr "Mensaje de la revisión:"
+
+#: git-gui.sh:2953 git-gui.sh:3104 lib/console.tcl:73
+msgid "Copy All"
+msgstr "Copiar todo"
+
+#: git-gui.sh:2977 lib/blame.tcl:104
+msgid "File:"
+msgstr "Fichero:"
+
+#: git-gui.sh:3092
+msgid "Refresh"
+msgstr "Actualizar"
+
+#: git-gui.sh:3113
+msgid "Decrease Font Size"
+msgstr "Disminuir tamaño de la fuente"
+
+#: git-gui.sh:3117
+msgid "Increase Font Size"
+msgstr "Aumentar tamaño de la fuente"
+
+#: git-gui.sh:3125 lib/blame.tcl:281
+msgid "Encoding"
+msgstr "Codificación"
+
+#: git-gui.sh:3136
+msgid "Apply/Reverse Hunk"
+msgstr "Aplicar/Revertir sección"
+
+#: git-gui.sh:3141
+msgid "Apply/Reverse Line"
+msgstr "Aplicar/Revertir linea"
+
+#: git-gui.sh:3151
+msgid "Run Merge Tool"
+msgstr "Ejecutar herramienta de resolución de conflictos"
+
+#: git-gui.sh:3156
+msgid "Use Remote Version"
+msgstr "Usar la versión remota"
+
+#: git-gui.sh:3160
+msgid "Use Local Version"
+msgstr "Usar la versión local"
+
+#: git-gui.sh:3164
+msgid "Revert To Base"
+msgstr "Revertir a versión Común"
+
+#: git-gui.sh:3183
+msgid "Unstage Hunk From Commit"
+msgstr "Anular preparación de la sección para revisión"
+
+#: git-gui.sh:3184
+msgid "Unstage Line From Commit"
+msgstr "Anular preparación de la linea para revisión"
+
+#: git-gui.sh:3186
+msgid "Stage Hunk For Commit"
+msgstr "Preparar la sección para nueva revisión"
+
+#: git-gui.sh:3187
+msgid "Stage Line For Commit"
+msgstr "Preparar la linea para nueva revisión"
+
+#: git-gui.sh:3210
+msgid "Initializing..."
+msgstr "Inicializando..."
+
+#: git-gui.sh:3315
+#, tcl-format
+msgid ""
+"Possible environment issues exist.\n"
+"\n"
+"The following environment variables are probably\n"
+"going to be ignored by any Git subprocess run\n"
+"by %s:\n"
+"\n"
+msgstr ""
+"Hay probablemente problemas con las variables de entorno.\n"
+"\n"
+"Las sigientes variables de entorno serán probablemente\n"
+"ignoradas por los todos subprocesos Git ejecutados por\n"
+"%s:\n"
+"\n"
+
+#: git-gui.sh:3345
+msgid ""
+"\n"
+"This is due to a known issue with the\n"
+"Tcl binary distributed by Cygwin."
+msgstr ""
+"\n"
+"Esto es debido a un conocido problema con\n"
+"el binario Tcl distribuido por Cygwin."
+
+#: git-gui.sh:3350
+#, tcl-format
+msgid ""
+"\n"
+"\n"
+"A good replacement for %s\n"
+"is placing values for the user.name and\n"
+"user.email settings into your personal\n"
+"~/.gitconfig file.\n"
+msgstr ""
+"\n"
+"\n"
+"Una buena alternativa a %s\n"
+"es asignar valores a las variables\n"
+"user.name y user.email en su fichero\n"
+"~/.gitconfig personal.\n"
+
+#: lib/about.tcl:26
+msgid "git-gui - a graphical user interface for Git."
+msgstr "git-gui - una intefaz gráfica de usuario para Git."
+
+#: lib/blame.tcl:72
+msgid "File Viewer"
+msgstr "Visor de ficheros"
+
+#: lib/blame.tcl:78
+msgid "Commit:"
+msgstr "Revisión:"
+
+#: lib/blame.tcl:271
+msgid "Copy Commit"
+msgstr "Copiar revisión"
+
+#: lib/blame.tcl:275
+msgid "Find Text..."
+msgstr "Buscar texto..."
+
+#: lib/blame.tcl:284
+msgid "Do Full Copy Detection"
+msgstr "Hacer detección de copia completa"
+
+#: lib/blame.tcl:288
+msgid "Show History Context"
+msgstr "Mostar el contexto historico"
+
+#: lib/blame.tcl:291
+msgid "Blame Parent Commit"
+msgstr "Anotar la revisión precedente"
+
+#: lib/blame.tcl:450
+#, tcl-format
+msgid "Reading %s..."
+msgstr "Leyendo %s..."
+
+#: lib/blame.tcl:557
+msgid "Loading copy/move tracking annotations..."
+msgstr "Cargando las anotaciones de copia/movimiento..."
+
+#: lib/blame.tcl:577
+msgid "lines annotated"
+msgstr "lineas anotadas"
+
+#: lib/blame.tcl:769
+msgid "Loading original location annotations..."
+msgstr "Cargando las anotaciones de la posición original..."
+
+#: lib/blame.tcl:772
+msgid "Annotation complete."
+msgstr "Anotación completa."
+
+#: lib/blame.tcl:802
+msgid "Busy"
+msgstr "Ocupado"
+
+#: lib/blame.tcl:803
+msgid "Annotation process is already running."
+msgstr "El proceso de anotacion ya está ejecutandose."
+
+#: lib/blame.tcl:842
+msgid "Running thorough copy detection..."
+msgstr "Ejecutando detección de copia completa..."
+
+#: lib/blame.tcl:910
+msgid "Loading annotation..."
+msgstr "Cargando anotaciones..."
+
+#: lib/blame.tcl:963
+msgid "Author:"
+msgstr "Autor:"
+
+#: lib/blame.tcl:967
+msgid "Committer:"
+msgstr "Comitter:"
+
+#: lib/blame.tcl:972
+msgid "Original File:"
+msgstr "Fichero original:"
+
+#: lib/blame.tcl:1020
+msgid "Cannot find HEAD commit:"
+msgstr "No se puede encontrar la revisión HEAD:"
+
+#: lib/blame.tcl:1075
+msgid "Cannot find parent commit:"
+msgstr "No se puede encontrar la revisión precedente:"
+
+#: lib/blame.tcl:1090
+msgid "Unable to display parent"
+msgstr "No se puede visualizar la revisón precedente"
+
+#: lib/blame.tcl:1091 lib/diff.tcl:297
+msgid "Error loading diff:"
+msgstr "Error cargando el diff:"
+
+#: lib/blame.tcl:1231
+msgid "Originally By:"
+msgstr "Originalmente por:"
+
+#: lib/blame.tcl:1237
+msgid "In File:"
+msgstr "En fichero:"
+
+#: lib/blame.tcl:1242
+msgid "Copied Or Moved Here By:"
+msgstr "Copiado o movido aquà por:"
+
+#: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19
+msgid "Checkout Branch"
+msgstr "Activar rama"
+
+#: lib/branch_checkout.tcl:23
+msgid "Checkout"
+msgstr "Activar"
+
+#: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35
+#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282
+#: lib/checkout_op.tcl:544 lib/choose_font.tcl:43 lib/merge.tcl:172
+#: lib/option.tcl:125 lib/remote_add.tcl:32 lib/remote_branch_delete.tcl:42
+#: lib/tools_dlg.tcl:40 lib/tools_dlg.tcl:204 lib/tools_dlg.tcl:352
+#: lib/transport.tcl:108
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 lib/tools_dlg.tcl:328
+msgid "Revision"
+msgstr "Revisión"
+
+#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:280
+msgid "Options"
+msgstr "Opciones"
+
+#: lib/branch_checkout.tcl:39 lib/branch_create.tcl:92
+msgid "Fetch Tracking Branch"
+msgstr "Traer duplicado local de rama remota"
+
+#: lib/branch_checkout.tcl:44
+msgid "Detach From Local Branch"
+msgstr "Desvincular de rama local"
+
+#: lib/branch_create.tcl:22
+msgid "Create Branch"
+msgstr "Crear rama"
+
+#: lib/branch_create.tcl:27
+msgid "Create New Branch"
+msgstr "Crear nueva rama"
+
+#: lib/branch_create.tcl:31 lib/choose_repository.tcl:377
+msgid "Create"
+msgstr "Crear"
+
+#: lib/branch_create.tcl:40
+msgid "Branch Name"
+msgstr "Nombre de la rama"
+
+#: lib/branch_create.tcl:43 lib/remote_add.tcl:39 lib/tools_dlg.tcl:50
+msgid "Name:"
+msgstr "Nombre:"
+
+#: lib/branch_create.tcl:58
+msgid "Match Tracking Branch Name"
+msgstr "Casar nombre del duplicado local de rama remota"
+
+#: lib/branch_create.tcl:66
+msgid "Starting Revision"
+msgstr "Iniciando revisión"
+
+#: lib/branch_create.tcl:72
+msgid "Update Existing Branch:"
+msgstr "Actualizar rama existente:"
+
+#: lib/branch_create.tcl:75
+msgid "No"
+msgstr "No"
+
+#: lib/branch_create.tcl:80
+msgid "Fast Forward Only"
+msgstr "Solo Fast Forward"
+
+#: lib/branch_create.tcl:85 lib/checkout_op.tcl:536
+msgid "Reset"
+msgstr "Reinicializa"
+
+#: lib/branch_create.tcl:97
+msgid "Checkout After Creation"
+msgstr "Activar despues de crear"
+
+#: lib/branch_create.tcl:131
+msgid "Please select a tracking branch."
+msgstr "Por favor escoja un duplicado local de rama remota."
+
+#: lib/branch_create.tcl:140
+#, tcl-format
+msgid "Tracking branch %s is not a branch in the remote repository."
+msgstr "El duplicado local de rama remota %s no es una rama en el repositorio remoto."
+
+#: lib/branch_create.tcl:153 lib/branch_rename.tcl:86
+msgid "Please supply a branch name."
+msgstr "Por favor indique el nombre de rama."
+
+#: lib/branch_create.tcl:164 lib/branch_rename.tcl:106
+#, tcl-format
+msgid "'%s' is not an acceptable branch name."
+msgstr "'%s' no es un nombre de rama válido."
+
+#: lib/branch_delete.tcl:15
+msgid "Delete Branch"
+msgstr "Borrar rama"
+
+#: lib/branch_delete.tcl:20
+msgid "Delete Local Branch"
+msgstr "Borrar rama local"
+
+#: lib/branch_delete.tcl:37
+msgid "Local Branches"
+msgstr "Ramas locales"
+
+#: lib/branch_delete.tcl:52
+msgid "Delete Only If Merged Into"
+msgstr "Borrar solo si fusionada con otra rama"
+
+#: lib/branch_delete.tcl:54
+msgid "Always (Do not perform merge test.)"
+msgstr "Siempre (No hacer comprobación de fusión.)"
+
+#: lib/branch_delete.tcl:103
+#, tcl-format
+msgid "The following branches are not completely merged into %s:"
+msgstr "Las ramas siguientes no han sido completamente fusionadas en %s:"
+
+#: lib/branch_delete.tcl:141
+#, tcl-format
+msgid ""
+"Failed to delete branches:\n"
+"%s"
+msgstr ""
+"Se falló al borrar las ramas:\n"
+"%s"
+
+#: lib/branch_rename.tcl:14 lib/branch_rename.tcl:22
+msgid "Rename Branch"
+msgstr "Renombrar rama"
+
+#: lib/branch_rename.tcl:26
+msgid "Rename"
+msgstr "Renombrar"
+
+#: lib/branch_rename.tcl:36
+msgid "Branch:"
+msgstr "Rama:"
+
+#: lib/branch_rename.tcl:39
+msgid "New Name:"
+msgstr "Nuevo nombre:"
+
+#: lib/branch_rename.tcl:75
+msgid "Please select a branch to rename."
+msgstr "Por favor seleccione la rama a renombrar."
+
+#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:201
+#, tcl-format
+msgid "Branch '%s' already exists."
+msgstr "La rama '%s' ya existe."
+
+#: lib/branch_rename.tcl:117
+#, tcl-format
+msgid "Failed to rename '%s'."
+msgstr "Se falló al renombrar '%s'."
+
+#: lib/browser.tcl:17
+msgid "Starting..."
+msgstr "Iniciando..."
+
+#: lib/browser.tcl:26
+msgid "File Browser"
+msgstr "Explorador de archivos"
+
+#: lib/browser.tcl:126 lib/browser.tcl:143
+#, tcl-format
+msgid "Loading %s..."
+msgstr "Cargando %s..."
+
+#: lib/browser.tcl:187
+msgid "[Up To Parent]"
+msgstr "[Directorio superior]"
+
+#: lib/browser.tcl:267 lib/browser.tcl:273
+msgid "Browse Branch Files"
+msgstr "Explora los ficheros de la rama"
+
+#: lib/browser.tcl:278 lib/choose_repository.tcl:394
+#: lib/choose_repository.tcl:480 lib/choose_repository.tcl:491
+#: lib/choose_repository.tcl:995
+msgid "Browse"
+msgstr "Explora"
+
+#: lib/checkout_op.tcl:84
+#, tcl-format
+msgid "Fetching %s from %s"
+msgstr "Trayendo %s de %s"
+
+#: lib/checkout_op.tcl:132
+#, tcl-format
+msgid "fatal: Cannot resolve %s"
+msgstr "fatal: No se pudo resolver %s"
+
+#: lib/checkout_op.tcl:145 lib/console.tcl:81 lib/database.tcl:31
+#: lib/sshkey.tcl:53
+msgid "Close"
+msgstr "Cerrar"
+
+#: lib/checkout_op.tcl:174
+#, tcl-format
+msgid "Branch '%s' does not exist."
+msgstr "La rama '%s' no existe."
+
+#: lib/checkout_op.tcl:193
+#, tcl-format
+msgid "Failed to configure simplified git-pull for '%s'."
+msgstr "Se falló al configurar el git-pull simplificado para '%s'."
+
+#: lib/checkout_op.tcl:228
+#, tcl-format
+msgid ""
+"Branch '%s' already exists.\n"
+"\n"
+"It cannot fast-forward to %s.\n"
+"A merge is required."
+msgstr ""
+"La rama '%s' ya existe.\n"
+"\n"
+"No se puede hacer fast-forward a %s.\n"
+"Se requiere una fusión."
+
+#: lib/checkout_op.tcl:242
+#, tcl-format
+msgid "Merge strategy '%s' not supported."
+msgstr "La estrategia de fusión '%s' no está soportada."
+
+#: lib/checkout_op.tcl:261
+#, tcl-format
+msgid "Failed to update '%s'."
+msgstr "Se falló al actualizar '%s'."
+
+#: lib/checkout_op.tcl:273
+msgid "Staging area (index) is already locked."
+msgstr "El área de preparación (index) ya está bloqueada."
+
+#: lib/checkout_op.tcl:288
+msgid ""
+"Last scanned state does not match repository state.\n"
+"\n"
+"Another Git program has modified this repository since the last scan. A "
+"rescan must be performed before the current branch can be changed.\n"
+"\n"
+"The rescan will be automatically started now.\n"
+msgstr ""
+"El último estado escaneado no casa con el estado del repositorio.\n"
+"\n"
+"Otro programa de Git a modificado este repositorio desde el último escaneo.\n"
+"Un nuevo escaneo debe realizarse antes de que la rama actual pueda cambiarse.\n"
+"\n"
+"El escaneo empezará automaticamente ahora.\n"
+
+#: lib/checkout_op.tcl:344
+#, tcl-format
+msgid "Updating working directory to '%s'..."
+msgstr "Actualizando el directorio de trabajo a '%s'..."
+
+#: lib/checkout_op.tcl:345
+msgid "files checked out"
+msgstr "ficheros en el directorio de trabajo"
+
+#: lib/checkout_op.tcl:375
+#, tcl-format
+msgid "Aborted checkout of '%s' (file level merging is required)."
+msgstr "Activación de '%s' abortada (fusión a nivel de fichero necesaria)."
+
+#: lib/checkout_op.tcl:376
+msgid "File level merge required."
+msgstr "Fusión a nivel de fichero necesaria."
+
+#: lib/checkout_op.tcl:380
+#, tcl-format
+msgid "Staying on branch '%s'."
+msgstr "Permaneciendo en rama '%s'."
+
+#: lib/checkout_op.tcl:451
+msgid ""
+"You are no longer on a local branch.\n"
+"\n"
+"If you wanted to be on a branch, create one now starting from 'This Detached "
+"Checkout'."
+msgstr ""
+"Ya no estas en una rama local.\n"
+"\n"
+"Si lo que querÃas era estar en una rama, crea una ahora a\n"
+"partir de 'This Detached Checkout'."
+
+#: lib/checkout_op.tcl:468 lib/checkout_op.tcl:472
+#, tcl-format
+msgid "Checked out '%s'."
+msgstr "Activada '%s'."
+
+#: lib/checkout_op.tcl:500
+#, tcl-format
+msgid "Resetting '%s' to '%s' will lose the following commits:"
+msgstr "Reinicializar '%s' a '%s' hará que se pierdan estas revisiones:"
+
+#: lib/checkout_op.tcl:522
+msgid "Recovering lost commits may not be easy."
+msgstr "Recuperar las revisiones perdidas puede no ser facil."
+
+#: lib/checkout_op.tcl:527
+#, tcl-format
+msgid "Reset '%s'?"
+msgstr "¿Reinicializar '%s'?"
+
+#: lib/checkout_op.tcl:532 lib/merge.tcl:164 lib/tools_dlg.tcl:343
+msgid "Visualize"
+msgstr "Visualizar"
+
+#: lib/checkout_op.tcl:600
+#, tcl-format
+msgid ""
+"Failed to set current branch.\n"
+"\n"
+"This working directory is only partially switched. We successfully updated "
+"your files, but failed to update an internal Git file.\n"
+"\n"
+"This should not have occurred. %s will now close and give up."
+msgstr ""
+"Se falló al preparar la rama actual.\n"
+"\n"
+"Este directorio de trabajo está solo parcialmente cambiado. Se han actualizado\n"
+"tus ficheros con éxito, pero se falló al actualizar un fichero interno de Git.\n"
+"\n"
+"Esto no deberÃa de haber ocurrido. %s se cerrará y desistirá."
+
+#: lib/choose_font.tcl:39
+msgid "Select"
+msgstr "Selecciona"
+
+#: lib/choose_font.tcl:53
+msgid "Font Family"
+msgstr "Familia de fuente"
+
+#: lib/choose_font.tcl:74
+msgid "Font Size"
+msgstr "Tamaño de fuente"
+
+#: lib/choose_font.tcl:91
+msgid "Font Example"
+msgstr "Ejemplo de fuente"
+
+#: lib/choose_font.tcl:103
+msgid ""
+"This is example text.\n"
+"If you like this text, it can be your font."
+msgstr ""
+"Esto es testo de ejemplo.\n"
+"Si te gusta este texto, esta puede ser tu fuente."
+
+#: lib/choose_repository.tcl:28
+msgid "Git Gui"
+msgstr "Git Gui"
+
+#: lib/choose_repository.tcl:87 lib/choose_repository.tcl:382
+msgid "Create New Repository"
+msgstr "Crear nuevo repositorio"
+
+#: lib/choose_repository.tcl:93
+msgid "New..."
+msgstr "Nuevo..."
+
+#: lib/choose_repository.tcl:100 lib/choose_repository.tcl:465
+msgid "Clone Existing Repository"
+msgstr "Clonar un repositorio existente"
+
+#: lib/choose_repository.tcl:106
+msgid "Clone..."
+msgstr "Clonar..."
+
+#: lib/choose_repository.tcl:113 lib/choose_repository.tcl:983
+msgid "Open Existing Repository"
+msgstr "Abrir un repositorio existente"
+
+#: lib/choose_repository.tcl:119
+msgid "Open..."
+msgstr "Abrir..."
+
+#: lib/choose_repository.tcl:132
+msgid "Recent Repositories"
+msgstr "Repositorios recientes"
+
+#: lib/choose_repository.tcl:138
+msgid "Open Recent Repository:"
+msgstr "Abrir repositorio reciente:"
+
+#: lib/choose_repository.tcl:302 lib/choose_repository.tcl:309
+#: lib/choose_repository.tcl:316
+#, tcl-format
+msgid "Failed to create repository %s:"
+msgstr "Se falló al crear el repositorio %s:"
+
+#: lib/choose_repository.tcl:387
+msgid "Directory:"
+msgstr "Directorio:"
+
+#: lib/choose_repository.tcl:417 lib/choose_repository.tcl:544
+#: lib/choose_repository.tcl:1017
+msgid "Git Repository"
+msgstr "Repositorio git"
+
+#: lib/choose_repository.tcl:442
+#, tcl-format
+msgid "Directory %s already exists."
+msgstr "El directorio %s ya existe."
+
+#: lib/choose_repository.tcl:446
+#, tcl-format
+msgid "File %s already exists."
+msgstr "El fichero %s ya existe."
+
+#: lib/choose_repository.tcl:460
+msgid "Clone"
+msgstr "Clonar"
+
+#: lib/choose_repository.tcl:473
+msgid "Source Location:"
+msgstr "Localizacion del código fuente:"
+
+#: lib/choose_repository.tcl:484
+msgid "Target Directory:"
+msgstr "Directorio objetivo:"
+
+#: lib/choose_repository.tcl:496
+msgid "Clone Type:"
+msgstr "Tipo de clonado:"
+
+#: lib/choose_repository.tcl:502
+msgid "Standard (Fast, Semi-Redundant, Hardlinks)"
+msgstr "Standar (Rápido, semi-redundante, con hard links)"
+
+#: lib/choose_repository.tcl:508
+msgid "Full Copy (Slower, Redundant Backup)"
+msgstr "Copia completa (Mas lento, redundante, copia de respaldo)"
+
+#: lib/choose_repository.tcl:514
+msgid "Shared (Fastest, Not Recommended, No Backup)"
+msgstr "Compartido (el más rápido, no recomendado, no es copia de respaldo)"
+
+#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597
+#: lib/choose_repository.tcl:743 lib/choose_repository.tcl:813
+#: lib/choose_repository.tcl:1023 lib/choose_repository.tcl:1031
+#, tcl-format
+msgid "Not a Git repository: %s"
+msgstr "No es un repositorio Git: %s"
+
+#: lib/choose_repository.tcl:586
+msgid "Standard only available for local repository."
+msgstr "Standar solo disponible para repositorios locales."
+
+#: lib/choose_repository.tcl:590
+msgid "Shared only available for local repository."
+msgstr "Compartido solo disponible para repositorios locales."
+
+#: lib/choose_repository.tcl:611
+#, tcl-format
+msgid "Location %s already exists."
+msgstr "La localizacion %s ya existe."
+
+#: lib/choose_repository.tcl:622
+msgid "Failed to configure origin"
+msgstr "Se falló al configurar origen"
+
+#: lib/choose_repository.tcl:634
+msgid "Counting objects"
+msgstr "Contando objetos"
+
+#: lib/choose_repository.tcl:635
+msgid "buckets"
+msgstr "cubos"
+
+#: lib/choose_repository.tcl:659
+#, tcl-format
+msgid "Unable to copy objects/info/alternates: %s"
+msgstr "No se pudo copiar objetos/info/alternativas: %s"
+
+#: lib/choose_repository.tcl:695
+#, tcl-format
+msgid "Nothing to clone from %s."
+msgstr "Nada que clonar desde %s."
+
+#: lib/choose_repository.tcl:697 lib/choose_repository.tcl:911
+#: lib/choose_repository.tcl:923
+msgid "The 'master' branch has not been initialized."
+msgstr "La rama 'master' no ha sido inicializada."
+
+#: lib/choose_repository.tcl:710
+msgid "Hardlinks are unavailable. Falling back to copying."
+msgstr "Hardlinks no disponibles. Se recurre a copiar."
+
+#: lib/choose_repository.tcl:722
+#, tcl-format
+msgid "Cloning from %s"
+msgstr "Clonando desde %s"
+
+#: lib/choose_repository.tcl:753
+msgid "Copying objects"
+msgstr "Copiando objetos"
+
+#: lib/choose_repository.tcl:754
+msgid "KiB"
+msgstr "KiB"
+
+#: lib/choose_repository.tcl:778
+#, tcl-format
+msgid "Unable to copy object: %s"
+msgstr "No se puede copiar objeto: %s"
+
+#: lib/choose_repository.tcl:788
+msgid "Linking objects"
+msgstr "Vinculando (hardlinks) objetos"
+
+#: lib/choose_repository.tcl:789
+msgid "objects"
+msgstr "objetos"
+
+#: lib/choose_repository.tcl:797
+#, tcl-format
+msgid "Unable to hardlink object: %s"
+msgstr "No se puede vincular (hardlink) el objeto: %s"
+
+#: lib/choose_repository.tcl:852
+msgid "Cannot fetch branches and objects. See console output for details."
+msgstr "Imposible traer las ramas y objetos. Para mas detalles vea la salida de consola"
+
+#: lib/choose_repository.tcl:863
+msgid "Cannot fetch tags. See console output for details."
+msgstr "Imposible traer etiquetas. Para más detalles vea la salida de consola"
+
+#: lib/choose_repository.tcl:887
+msgid "Cannot determine HEAD. See console output for details."
+msgstr "No se puede determinar HEAD. Para mas detalles vea la salida de consola."
+
+#: lib/choose_repository.tcl:896
+#, tcl-format
+msgid "Unable to cleanup %s"
+msgstr "Imposible limpiar %s"
+
+#: lib/choose_repository.tcl:902
+msgid "Clone failed."
+msgstr "Fallo al clonar."
+
+#: lib/choose_repository.tcl:909
+msgid "No default branch obtained."
+msgstr "No se obtubo la rama por defecto."
+
+#: lib/choose_repository.tcl:920
+#, tcl-format
+msgid "Cannot resolve %s as a commit."
+msgstr "No se pudo resolver %s como revisión."
+
+#: lib/choose_repository.tcl:932
+msgid "Creating working directory"
+msgstr "Creando el directorio de trabajo"
+
+#: lib/choose_repository.tcl:933 lib/index.tcl:65 lib/index.tcl:128
+#: lib/index.tcl:196
+msgid "files"
+msgstr "ficheros"
+
+#: lib/choose_repository.tcl:962
+msgid "Initial file checkout failed."
+msgstr "Falló la activacion inicial de ficheros."
+
+#: lib/choose_repository.tcl:978
+msgid "Open"
+msgstr "Abrir"
+
+#: lib/choose_repository.tcl:988
+msgid "Repository:"
+msgstr "Repositorio:"
+
+#: lib/choose_repository.tcl:1037
+#, tcl-format
+msgid "Failed to open repository %s:"
+msgstr "Se falló al abrir el repositorio %s:"
+
+#: lib/choose_rev.tcl:53
+msgid "This Detached Checkout"
+msgstr ""
+
+#: lib/choose_rev.tcl:60
+msgid "Revision Expression:"
+msgstr "Expresion de revisión:"
+
+#: lib/choose_rev.tcl:74
+msgid "Local Branch"
+msgstr "Rama local"
+
+#: lib/choose_rev.tcl:79
+msgid "Tracking Branch"
+msgstr "Duplicado local de rama remota"
+
+#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538
+msgid "Tag"
+msgstr "Etiqueta"
+
+#: lib/choose_rev.tcl:317
+#, tcl-format
+msgid "Invalid revision: %s"
+msgstr "Revisión no válida: %s"
+
+#: lib/choose_rev.tcl:338
+msgid "No revision selected."
+msgstr "No se ha seleccionado revisión."
+
+#: lib/choose_rev.tcl:346
+msgid "Revision expression is empty."
+msgstr "Exprasión de revisión vacia."
+
+#: lib/choose_rev.tcl:531
+msgid "Updated"
+msgstr "Actualizado"
+
+#: lib/choose_rev.tcl:559
+msgid "URL"
+msgstr "URL"
+
+#: lib/commit.tcl:9
+msgid ""
+"There is nothing to amend.\n"
+"\n"
+"You are about to create the initial commit. There is no commit before this "
+"to amend.\n"
+msgstr ""
+"No hay nada que corregir.\n"
+"\n"
+"Va usted a crear la revisón inicial. No hay ninguna revisión anterior\n"
+"que corregir.\n"
+
+#: lib/commit.tcl:18
+msgid ""
+"Cannot amend while merging.\n"
+"\n"
+"You are currently in the middle of a merge that has not been fully "
+"completed. You cannot amend the prior commit unless you first abort the "
+"current merge activity.\n"
+msgstr ""
+"No se puede corregir mientras durante una fusión.\n"
+"\n"
+"Esta usted en el medio de un proceso de fusión que no ha\n"
+"sido completado. No puede corregir la revision anterior a\n"
+"no ser que primero cancele el proceso de fusión.\n"
+
+#: lib/commit.tcl:48
+msgid "Error loading commit data for amend:"
+msgstr "Error al cargar los datos de la revisión para corrección:"
+
+#: lib/commit.tcl:75
+msgid "Unable to obtain your identity:"
+msgstr "Incapaz de obtener su identidad:"
+
+#: lib/commit.tcl:80
+msgid "Invalid GIT_COMMITTER_IDENT:"
+msgstr "GIT_COMMITTER_IDENT inválido:"
+
+#: lib/commit.tcl:132
+msgid ""
+"Last scanned state does not match repository state.\n"
+"\n"
+"Another Git program has modified this repository since the last scan. A "
+"rescan must be performed before another commit can be created.\n"
+"\n"
+"The rescan will be automatically started now.\n"
+msgstr ""
+"El último estado escaneado no casa con el estado del repositorio.\n"
+"\n"
+"Otro programa de Git a modificado este repositorio desde el último escaneo.\n"
+"Un nuevo escaneo debe realizarse antes de que una nueva revisión pueda crearse.\n"
+"\n"
+"El escaneo empezará automaticamente ahora.\n"
+
+#: lib/commit.tcl:155
+#, tcl-format
+msgid ""
+"Unmerged files cannot be committed.\n"
+"\n"
+"File %s has merge conflicts. You must resolve them and stage the file "
+"before committing.\n"
+msgstr ""
+"Imosible crear revisón con ficheros sin fusionar.\n"
+"\n"
+"El fichero %s tiene conflictos de fusión. Debe resolverlos y\n"
+"preparar el fichero para nueva revisión antes de continuar.\n"
+
+#: lib/commit.tcl:163
+#, tcl-format
+msgid ""
+"Unknown file state %s detected.\n"
+"\n"
+"File %s cannot be committed by this program.\n"
+msgstr ""
+"Estado de fichero desconocido %s detectado.\n"
+"\n"
+"El programa no puede hacer una revisión con el fichero %s.\n"
+
+#: lib/commit.tcl:171
+msgid ""
+"No changes to commit.\n"
+"\n"
+"You must stage at least 1 file before you can commit.\n"
+msgstr ""
+"No hay cambios para una nueva revisión.\n"
+"\n"
+"Debe preparar para nueva revisón al menos un fichero\n"
+"antes de proceder.\n"
+
+#: lib/commit.tcl:186
+msgid ""
+"Please supply a commit message.\n"
+"\n"
+"A good commit message has the following format:\n"
+"\n"
+"- First line: Describe in one sentence what you did.\n"
+"- Second line: Blank\n"
+"- Remaining lines: Describe why this change is good.\n"
+msgstr ""
+"Por favor facilite un mensaje de revisón.\n"
+"\n"
+"Un buen mensaje tiene el siguiente formato:\n"
+"\n"
+"- Primera linea: Describa en una linea lo que hizo.\n"
+"- Segunda linea: En blanco\n"
+"- Lineas siguientes: Describa porque el cambio es bueno.\n"
+
+#: lib/commit.tcl:210
+#, tcl-format
+msgid "warning: Tcl does not support encoding '%s'."
+msgstr "aviso: Tcl no soporta la codificación '%s'."
+
+#: lib/commit.tcl:226
+msgid "Calling pre-commit hook..."
+msgstr "Ejecutando el hook pre-commit..."
+
+#: lib/commit.tcl:241
+msgid "Commit declined by pre-commit hook."
+msgstr "La revisión ha sido rechazada por el hook pre-commit."
+
+#: lib/commit.tcl:264
+msgid "Calling commit-msg hook..."
+msgstr "Ejecutando el hook commit-msg..."
+
+#: lib/commit.tcl:279
+msgid "Commit declined by commit-msg hook."
+msgstr "La revisión ha sido rechazada por el hook commit-msg."
+
+#: lib/commit.tcl:292
+msgid "Committing changes..."
+msgstr "Archivando los cambios..."
+
+#: lib/commit.tcl:308
+msgid "write-tree failed:"
+msgstr "El write-tree falló:"
+
+#: lib/commit.tcl:309 lib/commit.tcl:353 lib/commit.tcl:373
+msgid "Commit failed."
+msgstr "Se falló al crear una nueva revisión."
+
+#: lib/commit.tcl:326
+#, tcl-format
+msgid "Commit %s appears to be corrupt"
+msgstr "La revisón %s parece estar corrupta."
+
+#: lib/commit.tcl:331
+msgid ""
+"No changes to commit.\n"
+"\n"
+"No files were modified by this commit and it was not a merge commit.\n"
+"\n"
+"A rescan will be automatically started now.\n"
+msgstr ""
+"No hay cambios para una nueva revisión.\n"
+"\n"
+"Ningún fihero ha sido modificado por esta revisión y no es una\n"
+"revisón de fusión.\n"
+"\n"
+"Un rescaneo empezará automaticamente ahora.\n"
+
+#: lib/commit.tcl:338
+msgid "No changes to commit."
+msgstr "No hay cambios para una nueva revisión."
+
+#: lib/commit.tcl:352
+msgid "commit-tree failed:"
+msgstr "Falló el commit-tree:"
+
+#: lib/commit.tcl:372
+msgid "update-ref failed:"
+msgstr "Falló el update-ref:"
+
+#: lib/commit.tcl:460
+#, tcl-format
+msgid "Created commit %s: %s"
+msgstr "Creada la revisión %s: %s"
+
+#: lib/console.tcl:59
+msgid "Working... please wait..."
+msgstr "Trabajando... por favor espere..."
+
+#: lib/console.tcl:186
+msgid "Success"
+msgstr "Ãxito"
+
+#: lib/console.tcl:200
+msgid "Error: Command Failed"
+msgstr "Error: El comando falló"
+
+#: lib/database.tcl:43
+msgid "Number of loose objects"
+msgstr "Número de objetos sueltos"
+
+#: lib/database.tcl:44
+msgid "Disk space used by loose objects"
+msgstr "Espacio en disco usado por objetos sueltos"
+
+#: lib/database.tcl:45
+msgid "Number of packed objects"
+msgstr "Número de objetos empaquetados"
+
+#: lib/database.tcl:46
+msgid "Number of packs"
+msgstr "Número de paquetes"
+
+#: lib/database.tcl:47
+msgid "Disk space used by packed objects"
+msgstr "Espacio en disco usado por objetos empaquetados"
+
+#: lib/database.tcl:48
+msgid "Packed objects waiting for pruning"
+msgstr "Objetos empaquetados esperando poda"
+
+#: lib/database.tcl:49
+msgid "Garbage files"
+msgstr "Ficheros basura"
+
+#: lib/database.tcl:72
+msgid "Compressing the object database"
+msgstr "Comprimiendo/Empaquetando la Base de Datos de objetos"
+
+#: lib/database.tcl:83
+msgid "Verifying the object database with fsck-objects"
+msgstr "Verificando la Base de Datos de objetos con fsck-objects"
+
+#: lib/database.tcl:108
+#, tcl-format
+msgid ""
+"This repository currently has approximately %i loose objects.\n"
+"\n"
+"To maintain optimal performance it is strongly recommended that you compress "
+"the database when more than %i loose objects exist.\n"
+"\n"
+"Compress the database now?"
+msgstr ""
+"Este repositorio cuenta actualmente con %i objetos sueltos.\n"
+"\n"
+"Para mantener un rendimento óptimo se recomienda encarecidamente\n"
+"que comprima la Base de Datos cuando hay mas de %i objetos sueltos.\n"
+"\n"
+"¿Comprimir la Base de Datos ahora?"
+
+#: lib/date.tcl:25
+#, tcl-format
+msgid "Invalid date from Git: %s"
+msgstr "Fecha invalida de Git: %s"
+
+#: lib/diff.tcl:59
+#, tcl-format
+msgid ""
+"No differences detected.\n"
+"\n"
+"%s has no changes.\n"
+"\n"
+"The modification date of this file was updated by another application, but "
+"the content within the file was not changed.\n"
+"\n"
+"A rescan will be automatically started to find other files which may have "
+"the same state."
+msgstr ""
+"Ninguna diferencia detectada.\n"
+"\n"
+"%s no tiene cambios.\n"
+"\n"
+"La fecha de modificacion ha sido cambiada por otra aplicación,\n"
+"pero los contenidos del fichero no han cambiado.\n"
+"\n"
+"Un rescaneo se realizará ahora para detectar otros ficheros en \n"
+"el mismo estado."
+
+#: lib/diff.tcl:99
+#, tcl-format
+msgid "Loading diff of %s..."
+msgstr "Cargando el diff de %s..."
+
+#: lib/diff.tcl:120
+msgid ""
+"LOCAL: deleted\n"
+"REMOTE:\n"
+msgstr ""
+"LOCAL: borrado\n"
+"REMOTO:\n"
+
+#: lib/diff.tcl:125
+msgid ""
+"REMOTE: deleted\n"
+"LOCAL:\n"
+msgstr ""
+"REMOTO: borrado\n"
+"LOCAL:\n"
+
+#: lib/diff.tcl:132
+msgid "LOCAL:\n"
+msgstr "LOCAL:\n"
+
+#: lib/diff.tcl:135
+msgid "REMOTE:\n"
+msgstr "REMOTO:\n"
+
+#: lib/diff.tcl:197 lib/diff.tcl:296
+#, tcl-format
+msgid "Unable to display %s"
+msgstr "Imposible mostrar %s"
+
+#: lib/diff.tcl:198
+msgid "Error loading file:"
+msgstr "Error cargando fichero:"
+
+#: lib/diff.tcl:205
+msgid "Git Repository (subproject)"
+msgstr "Repositorio Git (subproyecto)"
+
+#: lib/diff.tcl:217
+msgid "* Binary file (not showing content)."
+msgstr "* Fichero Binario (no se muestra contenido)."
+
+#: lib/diff.tcl:222
+#, tcl-format
+msgid ""
+"* Untracked file is %d bytes.\n"
+"* Showing only first %d bytes.\n"
+msgstr ""
+"* Fichero no registrado es de %d bytes.\n"
+"* Mostrando solo los primeros %d bytes.\n"
+
+#: lib/diff.tcl:228
+#, tcl-format
+msgid ""
+"\n"
+"* Untracked file clipped here by %s.\n"
+"* To see the entire file, use an external editor.\n"
+msgstr ""
+"\n"
+"* Fichero no registrado cortado aqui por %s.\n"
+"* Para ver el fichero completo, use un editor externo.\n"
+
+#: lib/diff.tcl:436
+msgid "Failed to unstage selected hunk."
+msgstr "Se falló al cancelar la preparacion para nueva revisión de la sección seleccionada."
+
+#: lib/diff.tcl:443
+msgid "Failed to stage selected hunk."
+msgstr "Se falló al preparar para nueva revisión la sección seleccionada."
+
+#: lib/diff.tcl:509
+msgid "Failed to unstage selected line."
+msgstr "Se falló al cancelar la preparación para nueva revisión de la linea seleccionada."
+
+#: lib/diff.tcl:517
+msgid "Failed to stage selected line."
+msgstr "Se falló al preparar para nueva revisón la linea seleccionada."
+
+#: lib/encoding.tcl:443
+msgid "Default"
+msgstr "Por defecto"
+
+#: lib/encoding.tcl:448
+#, tcl-format
+msgid "System (%s)"
+msgstr "Sistema (%s)"
+
+#: lib/encoding.tcl:459 lib/encoding.tcl:465
+msgid "Other"
+msgstr "Otro"
+
+#: lib/error.tcl:20 lib/error.tcl:114
+msgid "error"
+msgstr "error"
+
+#: lib/error.tcl:36
+msgid "warning"
+msgstr "advertencia"
+
+#: lib/error.tcl:94
+msgid "You must correct the above errors before committing."
+msgstr "Debe corregir los errores mostrados antes de crear nueva revisón."
+
+#: lib/index.tcl:6
+msgid "Unable to unlock the index."
+msgstr "Incapaz de desbloquear el Ãndice (index)."
+
+#: lib/index.tcl:15
+msgid "Index Error"
+msgstr "Error del Ãndice"
+
+#: lib/index.tcl:21
+msgid ""
+"Updating the Git index failed. A rescan will be automatically started to "
+"resynchronize git-gui."
+msgstr ""
+"Falló la actualización del Ãndice. Un rescaneo comenzará ahora\n"
+"para resincronizar git-gui."
+
+#: lib/index.tcl:27
+msgid "Continue"
+msgstr "Continuar"
+
+#: lib/index.tcl:31
+msgid "Unlock Index"
+msgstr "Desbloquear Ãndice"
+
+#: lib/index.tcl:287
+#, tcl-format
+msgid "Unstaging %s from commit"
+msgstr "Cancelando la preparacion de %s de la revisón."
+
+#: lib/index.tcl:326
+msgid "Ready to commit."
+msgstr "Preparado para crear nueva revisión."
+
+#: lib/index.tcl:339
+#, tcl-format
+msgid "Adding %s"
+msgstr "Añadiendo %s"
+
+#: lib/index.tcl:396
+#, tcl-format
+msgid "Revert changes in file %s?"
+msgstr "¿Revertir los cambios en el fichero %s?"
+
+#: lib/index.tcl:398
+#, tcl-format
+msgid "Revert changes in these %i files?"
+msgstr "¿Revertir los cambios en estos %i ficheros?"
+
+#: lib/index.tcl:406
+msgid "Any unstaged changes will be permanently lost by the revert."
+msgstr "Cualquier cambio no preparado para nueva revisión se perderá al revertir."
+
+#: lib/index.tcl:409
+msgid "Do Nothing"
+msgstr "No hacer nada"
+
+#: lib/index.tcl:427
+msgid "Reverting selected files"
+msgstr "Revertiendo los ficheros seleccionados"
+
+#: lib/index.tcl:431
+#, tcl-format
+msgid "Reverting %s"
+msgstr "Revertiendo %s"
+
+#: lib/merge.tcl:13
+msgid ""
+"Cannot merge while amending.\n"
+"\n"
+"You must finish amending this commit before starting any type of merge.\n"
+msgstr ""
+"No se puede fusionar mientras se corrige.\n"
+"\n"
+"Debe terminar de corregir la revisión antes de comenzar cualquier tipo de fusión.\n"
+
+#: lib/merge.tcl:27
+msgid ""
+"Last scanned state does not match repository state.\n"
+"\n"
+"Another Git program has modified this repository since the last scan. A "
+"rescan must be performed before a merge can be performed.\n"
+"\n"
+"The rescan will be automatically started now.\n"
+msgstr ""
+"El último estado escaneado no casa con el estado del repositorio.\n"
+"\n"
+"Otro programa de Git a modificado este repositorio desde el último escaneo.\n"
+"Un nuevo escaneo debe realizarse antes de que una nueva fusión pueda realizarse.\n"
+"\n"
+"El escaneo empezará automaticamente ahora.\n"
+
+#: lib/merge.tcl:45
+#, tcl-format
+msgid ""
+"You are in the middle of a conflicted merge.\n"
+"\n"
+"File %s has merge conflicts.\n"
+"\n"
+"You must resolve them, stage the file, and commit to complete the current "
+"merge. Only then can you begin another merge.\n"
+msgstr ""
+"Esta en el medio de una fusión con conflictos.\n"
+"\n"
+"El fichero %s tiene conflictos.\n"
+"\n"
+"Debe resolverlos, preparar el fichero para nueva revisión, y crear\n"
+"la nueva revisión para completar la fusión. Solo asi podrá comenzar \n"
+"una nueva fusión.\n"
+
+#: lib/merge.tcl:55
+#, tcl-format
+msgid ""
+"You are in the middle of a change.\n"
+"\n"
+"File %s is modified.\n"
+"\n"
+"You should complete the current commit before starting a merge. Doing so "
+"will help you abort a failed merge, should the need arise.\n"
+msgstr ""
+"Esta en el medio de un cambio.\n"
+"\n"
+"El fichero %s ha sido modificado.\n"
+"\n"
+"DeberÃa completar la revisión actual antes de comenzar la fusión.\n"
+"Hacer eso le ayudará a cancelar una fusión fallida si surgiese la \n"
+"necesidad.\n"
+
+#: lib/merge.tcl:107
+#, tcl-format
+msgid "%s of %s"
+msgstr "%s de %s"
+
+#: lib/merge.tcl:120
+#, tcl-format
+msgid "Merging %s and %s..."
+msgstr "Fusionando %s y %s..."
+
+#: lib/merge.tcl:131
+msgid "Merge completed successfully."
+msgstr "Fusión completada con éxito."
+
+#: lib/merge.tcl:133
+msgid "Merge failed. Conflict resolution is required."
+msgstr "Fallo en la fusión. Se requiere resolución de conflictos."
+
+#: lib/merge.tcl:158
+#, tcl-format
+msgid "Merge Into %s"
+msgstr "Fusionar a %s"
+
+#: lib/merge.tcl:177
+msgid "Revision To Merge"
+msgstr "Revisión a Fusionar"
+
+#: lib/merge.tcl:212
+msgid ""
+"Cannot abort while amending.\n"
+"\n"
+"You must finish amending this commit.\n"
+msgstr ""
+"No se puede abortar durante la corrección.\n"
+"\n"
+"Debe terminar de corregir la revisión.\n"
+
+#: lib/merge.tcl:222
+msgid ""
+"Abort merge?\n"
+"\n"
+"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n"
+"\n"
+"Continue with aborting the current merge?"
+msgstr ""
+"¿Abortar fusión?\n"
+"\n"
+"Abortar la fusión actual causará la pérdida de *TODOS* los cambios no\n"
+"guardados en el repositorio.\n"
+"\n"
+"¿Continuar con la cancelación de la fusión actual?"
+
+#: lib/merge.tcl:228
+msgid ""
+"Reset changes?\n"
+"\n"
+"Resetting the changes will cause *ALL* uncommitted changes to be lost.\n"
+"\n"
+"Continue with resetting the current changes?"
+msgstr ""
+"¿Revertir los cambios?\n"
+"\n"
+"Revertir los cambios provocará la pérdida de *TODOS* los cambios\n"
+"no guardados en el repositorio.\n"
+"\n"
+"¿Continuar y revertir los cambios actuales?"
+
+#: lib/merge.tcl:239
+msgid "Aborting"
+msgstr "Cancelando"
+
+#: lib/merge.tcl:239
+msgid "files reset"
+msgstr "ficheros revertidos"
+
+#: lib/merge.tcl:267
+msgid "Abort failed."
+msgstr "Falló la cancelación."
+
+#: lib/merge.tcl:269
+msgid "Abort completed. Ready."
+msgstr "Cancelación completa. Preparado."
+
+#: lib/mergetool.tcl:8
+msgid "Force resolution to the base version?"
+msgstr "¿Forzar resolución a la version común (base)?"
+
+#: lib/mergetool.tcl:9
+msgid "Force resolution to this branch?"
+msgstr "¿Forzar resolución a la version de esta rama?"
+
+#: lib/mergetool.tcl:10
+msgid "Force resolution to the other branch?"
+msgstr "¿Forzar resolución a la version de la otra rama?"
+
+#: lib/mergetool.tcl:14
+#, tcl-format
+msgid ""
+"Note that the diff shows only conflicting changes.\n"
+"\n"
+"%s will be overwritten.\n"
+"\n"
+"This operation can be undone only by restarting the merge."
+msgstr ""
+"Tenga en cuenta que el diff solo mestra los cambios conflictivos.\n"
+"\n"
+"%s será sobrescrito.\n"
+"\n"
+"Esta operacion solo se puede deshacer reiniciando la fusión."
+
+#: lib/mergetool.tcl:45
+#, tcl-format
+msgid "File %s seems to have unresolved conflicts, still stage?"
+msgstr "El fichero %s parece que tiene conflictos no resueltos ¿preparar para nueva revisión igualmente?"
+
+#: lib/mergetool.tcl:60
+#, tcl-format
+msgid "Adding resolution for %s"
+msgstr "Añadiendo resolución para %s"
+
+#: lib/mergetool.tcl:141
+msgid "Cannot resolve deletion or link conflicts using a tool"
+msgstr "No se puede resolver el borrado o los conflictos de links con una herramienta"
+
+#: lib/mergetool.tcl:146
+msgid "Conflict file does not exist"
+msgstr "El fichero conflictivo no existe"
+
+#: lib/mergetool.tcl:264
+#, tcl-format
+msgid "Not a GUI merge tool: '%s'"
+msgstr "No es una herramienta de fusión gráfica: '%s'"
+
+#: lib/mergetool.tcl:268
+#, tcl-format
+msgid "Unsupported merge tool '%s'"
+msgstr "Herramienta de fusión no soportada '%s'"
+
+#: lib/mergetool.tcl:303
+msgid "Merge tool is already running, terminate it?"
+msgstr "La herramienta de fusión ya esta ejecutandose, ¿cerrarla? "
+
+#: lib/mergetool.tcl:323
+#, tcl-format
+msgid ""
+"Error retrieving versions:\n"
+"%s"
+msgstr ""
+"Error al traer las versiones:\n"
+"%s"
+
+#: lib/mergetool.tcl:343
+#, tcl-format
+msgid ""
+"Could not start the merge tool:\n"
+"\n"
+"%s"
+msgstr ""
+"No se pudo ejecutar la herramienta de fusión:\n"
+"\n"
+"%s "
+
+#: lib/mergetool.tcl:347
+msgid "Running merge tool..."
+msgstr "Ejecutando la herramienta de fusión..."
+
+#: lib/mergetool.tcl:375 lib/mergetool.tcl:383
+msgid "Merge tool failed."
+msgstr "La herramienta de fusión falló."
+
+#: lib/option.tcl:11
+#, tcl-format
+msgid "Invalid global encoding '%s'"
+msgstr "Codificación global inválida '%s'"
+
+#: lib/option.tcl:19
+#, tcl-format
+msgid "Invalid repo encoding '%s'"
+msgstr "Codificacion de repositorio inválida '%s'"
+
+#: lib/option.tcl:117
+msgid "Restore Defaults"
+msgstr "Restaurar opciones predeterminadas."
+
+#: lib/option.tcl:121
+msgid "Save"
+msgstr "Guardar"
+
+#: lib/option.tcl:131
+#, tcl-format
+msgid "%s Repository"
+msgstr "Repositorio %s"
+
+#: lib/option.tcl:132
+msgid "Global (All Repositories)"
+msgstr "Global (Todos los Repositorios)"
+
+#: lib/option.tcl:138
+msgid "User Name"
+msgstr "Nombre de Usuario"
+
+#: lib/option.tcl:139
+msgid "Email Address"
+msgstr "Dirección de e-mail."
+
+#: lib/option.tcl:141
+msgid "Summarize Merge Commits"
+msgstr "Resumir revisones de fusión"
+
+#: lib/option.tcl:142
+msgid "Merge Verbosity"
+msgstr "Verbosidad de la fusión"
+
+#: lib/option.tcl:143
+msgid "Show Diffstat After Merge"
+msgstr "Mostrar Diffstat tras la fusión"
+
+#: lib/option.tcl:144
+msgid "Use Merge Tool"
+msgstr "Usar herramienta de fusión"
+
+#: lib/option.tcl:146
+msgid "Trust File Modification Timestamps"
+msgstr "Fiarse de marca de tiempo de ficheros"
+
+#: lib/option.tcl:147
+msgid "Prune Tracking Branches During Fetch"
+msgstr "Podar las copias locales de ramas remotas al traer"
+
+#: lib/option.tcl:148
+msgid "Match Tracking Branches"
+msgstr "Casar los duplicados locales de ramas remotas"
+
+#: lib/option.tcl:149
+msgid "Blame Copy Only On Changed Files"
+msgstr "Detección de copia solo a ficheros cambiados"
+
+#: lib/option.tcl:150
+msgid "Minimum Letters To Blame Copy On"
+msgstr "Caracteres mÃnimos para activar detección de copia"
+
+#: lib/option.tcl:151
+msgid "Blame History Context Radius (days)"
+msgstr "Contexto de CronologÃa de Anotación (dias)"
+
+#: lib/option.tcl:152
+msgid "Number of Diff Context Lines"
+msgstr "Número lineas de contexto en diffs"
+
+#: lib/option.tcl:153
+msgid "Commit Message Text Width"
+msgstr "Ancho de texto en mensaje de revisión"
+
+#: lib/option.tcl:154
+msgid "New Branch Name Template"
+msgstr "Nombre Plantilla de Nueva Rama"
+
+#: lib/option.tcl:155
+msgid "Default File Contents Encoding"
+msgstr "Codificación por defecto de ficheros"
+
+#: lib/option.tcl:203
+msgid "Change"
+msgstr "Cambiar"
+
+#: lib/option.tcl:230
+msgid "Spelling Dictionary:"
+msgstr "Diccionario de corrección:"
+
+#: lib/option.tcl:254
+msgid "Change Font"
+msgstr "Cambiar fuente"
+
+#: lib/option.tcl:258
+#, tcl-format
+msgid "Choose %s"
+msgstr "Elija %s"
+
+#: lib/option.tcl:264
+msgid "pt."
+msgstr "pt."
+
+#: lib/option.tcl:278
+msgid "Preferences"
+msgstr "Preferencias"
+
+#: lib/option.tcl:314
+msgid "Failed to completely save options:"
+msgstr "Fallo al guardar completamente las opciones:"
+
+#: lib/remote.tcl:163
+msgid "Remove Remote"
+msgstr "Borrar Remoto"
+
+#: lib/remote.tcl:168
+msgid "Prune from"
+msgstr "Podar de"
+
+#: lib/remote.tcl:173
+msgid "Fetch from"
+msgstr "Traer desde"
+
+#: lib/remote.tcl:215
+msgid "Push to"
+msgstr "Propagar a"
+
+#: lib/remote_add.tcl:19
+msgid "Add Remote"
+msgstr "Añadir remoto"
+
+#: lib/remote_add.tcl:24
+msgid "Add New Remote"
+msgstr "Añadir nuevo remoto"
+
+#: lib/remote_add.tcl:28 lib/tools_dlg.tcl:36
+msgid "Add"
+msgstr "Añadir"
+
+#: lib/remote_add.tcl:37
+msgid "Remote Details"
+msgstr "Detalles del remoto"
+
+#: lib/remote_add.tcl:50
+msgid "Location:"
+msgstr "Localización:"
+
+#: lib/remote_add.tcl:62
+msgid "Further Action"
+msgstr "Más Acciones"
+
+#: lib/remote_add.tcl:65
+msgid "Fetch Immediately"
+msgstr "Traer inmediatamente"
+
+#: lib/remote_add.tcl:71
+msgid "Initialize Remote Repository and Push"
+msgstr "Inicializar repositorio remoto y propagar"
+
+#: lib/remote_add.tcl:77
+msgid "Do Nothing Else Now"
+msgstr "No hacer nada mas ahora"
+
+#: lib/remote_add.tcl:101
+msgid "Please supply a remote name."
+msgstr "Por favor indique un nombre para el remoto"
+
+#: lib/remote_add.tcl:114
+#, tcl-format
+msgid "'%s' is not an acceptable remote name."
+msgstr "'%s' es un nombre de remoto no aceptable."
+
+#: lib/remote_add.tcl:125
+#, tcl-format
+msgid "Failed to add remote '%s' of location '%s'."
+msgstr "Se falló al añadir el remoto '%s' de la localizacion '%s'."
+
+#: lib/remote_add.tcl:133 lib/transport.tcl:6
+#, tcl-format
+msgid "fetch %s"
+msgstr "traer %s"
+
+#: lib/remote_add.tcl:134
+#, tcl-format
+msgid "Fetching the %s"
+msgstr "Trayendo el %s"
+
+#: lib/remote_add.tcl:157
+#, tcl-format
+msgid "Do not know how to initialize repository at location '%s'."
+msgstr "No se sabe como inicializar el repositorio en localización '%s'."
+
+#: lib/remote_add.tcl:163 lib/transport.tcl:25 lib/transport.tcl:63
+#: lib/transport.tcl:81
+#, tcl-format
+msgid "push %s"
+msgstr "propagar %s"
+
+#: lib/remote_add.tcl:164
+#, tcl-format
+msgid "Setting up the %s (at %s)"
+msgstr "Creando %s (en %s)"
+
+#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34
+msgid "Delete Branch Remotely"
+msgstr "Borrar rama remotamente"
+
+#: lib/remote_branch_delete.tcl:47
+msgid "From Repository"
+msgstr "Desde repositorio"
+
+#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:134
+msgid "Remote:"
+msgstr "Remoto:"
+
+#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:149
+msgid "Arbitrary Location:"
+msgstr "Localización arbitraria:"
+
+#: lib/remote_branch_delete.tcl:84
+msgid "Branches"
+msgstr "Ramas"
+
+#: lib/remote_branch_delete.tcl:109
+msgid "Delete Only If"
+msgstr "Borrar solo si"
+
+#: lib/remote_branch_delete.tcl:111
+msgid "Merged Into:"
+msgstr "Fusionado a:"
+
+#: lib/remote_branch_delete.tcl:119
+msgid "Always (Do not perform merge checks)"
+msgstr "Siempre (No hacer comprobaciones de fusión)"
+
+#: lib/remote_branch_delete.tcl:152
+msgid "A branch is required for 'Merged Into'."
+msgstr "Se requiere una rama para 'Fusionado a'."
+
+#: lib/remote_branch_delete.tcl:184
+#, tcl-format
+msgid ""
+"The following branches are not completely merged into %s:\n"
+"\n"
+" - %s"
+msgstr ""
+"Las siguientes ramas no estan completamente fusionadas a %s:\n"
+"\n"
+"- %s"
+
+#: lib/remote_branch_delete.tcl:189
+#, tcl-format
+msgid ""
+"One or more of the merge tests failed because you have not fetched the "
+"necessary commits. Try fetching from %s first."
+msgstr ""
+"Una o mas de las comprobaciones de fusión fallaron porque no se trajeron las\n"
+"revisones necesarias. Intente trayendolas de %s primero."
+
+#: lib/remote_branch_delete.tcl:207
+msgid "Please select one or more branches to delete."
+msgstr "Por favor seleccione una o mas ramas para borrar."
+
+#: lib/remote_branch_delete.tcl:216
+msgid ""
+"Recovering deleted branches is difficult.\n"
+"\n"
+"Delete the selected branches?"
+msgstr ""
+"Recuperar ramas borradas es difÃcil.\n"
+"\n"
+"¿Borrar las ramas seleccionadas?"
+
+#: lib/remote_branch_delete.tcl:226
+#, tcl-format
+msgid "Deleting branches from %s"
+msgstr "Borrando ramas de %s"
+
+#: lib/remote_branch_delete.tcl:286
+msgid "No repository selected."
+msgstr "No se a seleccionado un repositorio."
+
+#: lib/remote_branch_delete.tcl:291
+#, tcl-format
+msgid "Scanning %s..."
+msgstr "Escaneando %s..."
+
+#: lib/search.tcl:21
+msgid "Find:"
+msgstr "Encontrar:"
+
+#: lib/search.tcl:23
+msgid "Next"
+msgstr "Siguiente"
+
+#: lib/search.tcl:24
+msgid "Prev"
+msgstr "Anterior"
+
+#: lib/search.tcl:25
+msgid "Case-Sensitive"
+msgstr "Sensible a Mayusculas"
+
+#: lib/shortcut.tcl:20 lib/shortcut.tcl:61
+msgid "Cannot write shortcut:"
+msgstr "No se puede escribir el acceso directo:"
+
+#: lib/shortcut.tcl:136
+msgid "Cannot write icon:"
+msgstr "No se puede escribir el icono:"
+
+#: lib/spellcheck.tcl:57
+msgid "Unsupported spell checker"
+msgstr "Corrector ortográfico no soportado"
+
+#: lib/spellcheck.tcl:65
+msgid "Spell checking is unavailable"
+msgstr "Corrección ortográfica no disponible"
+
+#: lib/spellcheck.tcl:68
+msgid "Invalid spell checking configuration"
+msgstr "Configuraciónn de corrección ortográfica inválida"
+
+#: lib/spellcheck.tcl:70
+#, tcl-format
+msgid "Reverting dictionary to %s."
+msgstr "Revertiendo diccionario a %s."
+
+#: lib/spellcheck.tcl:73
+msgid "Spell checker silently failed on startup"
+msgstr "El corrector ortográfico falló silenciosamente al arrancar"
+
+#: lib/spellcheck.tcl:80
+msgid "Unrecognized spell checker"
+msgstr "Corrector ortográfico no reconocido"
+
+#: lib/spellcheck.tcl:186
+msgid "No Suggestions"
+msgstr "No hay sugerencias"
+
+#: lib/spellcheck.tcl:388
+msgid "Unexpected EOF from spell checker"
+msgstr "EOF inesperado desde el corrector ortográfico"
+
+#: lib/spellcheck.tcl:392
+msgid "Spell Checker Failed"
+msgstr "Falló el corrector ortográfico"
+
+#: lib/sshkey.tcl:31
+msgid "No keys found."
+msgstr "No se encontraron llaves."
+
+#: lib/sshkey.tcl:34
+#, tcl-format
+msgid "Found a public key in: %s"
+msgstr "Encontrada llave pública en: %s"
+
+#: lib/sshkey.tcl:40
+msgid "Generate Key"
+msgstr "Generar Llave"
+
+#: lib/sshkey.tcl:56
+msgid "Copy To Clipboard"
+msgstr "Copiar al portapapeles"
+
+#: lib/sshkey.tcl:70
+msgid "Your OpenSSH Public Key"
+msgstr "Tu llave pública OpenSSH"
+
+#: lib/sshkey.tcl:78
+msgid "Generating..."
+msgstr "Generando..."
+
+#: lib/sshkey.tcl:84
+#, tcl-format
+msgid ""
+"Could not start ssh-keygen:\n"
+"\n"
+"%s"
+msgstr ""
+"No se pudo ejecutar ssh-keygen:\n"
+"\n"
+"%s"
+
+#: lib/sshkey.tcl:111
+msgid "Generation failed."
+msgstr "Falló la generación."
+
+#: lib/sshkey.tcl:118
+msgid "Generation succeded, but no keys found."
+msgstr "La generación tubo éxito, pero no se encontraron llaves."
+
+#: lib/sshkey.tcl:121
+#, tcl-format
+msgid "Your key is in: %s"
+msgstr "Tu llave se encuentra en: %s"
+
+#: lib/status_bar.tcl:83
+#, tcl-format
+msgid "%s ... %*i of %*i %s (%3i%%)"
+msgstr "%s ... %*i de %*i %s (%3i%%)"
+
+#: lib/tools.tcl:75
+#, tcl-format
+msgid "Running %s requires a selected file."
+msgstr "Ejecutar %s requiere un fichero seleccionado."
+
+#: lib/tools.tcl:90
+#, tcl-format
+msgid "Are you sure you want to run %s?"
+msgstr "¿Está seguro de que quiere ejecutar %s?"
+
+#: lib/tools.tcl:110
+#, tcl-format
+msgid "Tool: %s"
+msgstr "Herramienta: %s"
+
+#: lib/tools.tcl:111
+#, tcl-format
+msgid "Running: %s"
+msgstr "Ejecutando: %s"
+
+#: lib/tools.tcl:149
+#, tcl-format
+msgid "Tool completed successfully: %s"
+msgstr "Herramienta ejcutada con éxito: %s"
+
+#: lib/tools.tcl:151
+#, tcl-format
+msgid "Tool failed: %s"
+msgstr "Falló la herramienta: %s"
+
+#: lib/tools_dlg.tcl:22
+msgid "Add Tool"
+msgstr "Añadir Herramienta"
+
+#: lib/tools_dlg.tcl:28
+msgid "Add New Tool Command"
+msgstr "Añadir nuevo comando herramienta"
+
+#: lib/tools_dlg.tcl:33
+msgid "Add globally"
+msgstr "Añadir globalmente"
+
+#: lib/tools_dlg.tcl:45
+msgid "Tool Details"
+msgstr "Detalles de la herramienta"
+
+#: lib/tools_dlg.tcl:48
+msgid "Use '/' separators to create a submenu tree:"
+msgstr "Usar separadores '/' para crear un submenú en árbol:"
+
+#: lib/tools_dlg.tcl:61
+msgid "Command:"
+msgstr "Comando:"
+
+#: lib/tools_dlg.tcl:74
+msgid "Show a dialog before running"
+msgstr "Mostrar un dialogo antes de ejecutar"
+
+#: lib/tools_dlg.tcl:80
+msgid "Ask the user to select a revision (sets $REVISION)"
+msgstr "Pedir al usuario que seleccione una revisión (asigna $REVISION)"
+
+#: lib/tools_dlg.tcl:85
+msgid "Ask the user for additional arguments (sets $ARGS)"
+msgstr "Pedir al usuario argumentos adicionales (asigna $ARGS)"
+
+#: lib/tools_dlg.tcl:92
+msgid "Don't show the command output window"
+msgstr "No mostrar la ventana de salida de comandos"
+
+#: lib/tools_dlg.tcl:97
+msgid "Run only if a diff is selected ($FILENAME not empty)"
+msgstr "Ejecutar solo si se se ha seleccionado un diff ($FILENAME no vacio)"
+
+#: lib/tools_dlg.tcl:121
+msgid "Please supply a name for the tool."
+msgstr "Por favor indique un nombre para la herramienta"
+
+#: lib/tools_dlg.tcl:129
+#, tcl-format
+msgid "Tool '%s' already exists."
+msgstr "La herramienta '%s' ya existe."
+
+#: lib/tools_dlg.tcl:151
+#, tcl-format
+msgid ""
+"Could not add tool:\n"
+"%s"
+msgstr ""
+"No se pudo añadir la herramienta:\n"
+"%s"
+
+#: lib/tools_dlg.tcl:190
+msgid "Remove Tool"
+msgstr "Borrar herramienta"
+
+#: lib/tools_dlg.tcl:196
+msgid "Remove Tool Commands"
+msgstr "Borrar comandos herramienta"
+
+#: lib/tools_dlg.tcl:200
+msgid "Remove"
+msgstr "Borrar"
+
+#: lib/tools_dlg.tcl:236
+msgid "(Blue denotes repository-local tools)"
+msgstr "(Azul indica herramientas del repositoro local)"
+
+#: lib/tools_dlg.tcl:297
+#, tcl-format
+msgid "Run Command: %s"
+msgstr "Ejecutar comando: %s"
+
+#: lib/tools_dlg.tcl:311
+msgid "Arguments"
+msgstr "Argumentos"
+
+#: lib/tools_dlg.tcl:348
+msgid "OK"
+msgstr "OK"
+
+#: lib/transport.tcl:7
+#, tcl-format
+msgid "Fetching new changes from %s"
+msgstr "Trayendo cambios nuevos desde %s"
+
+#: lib/transport.tcl:18
+#, tcl-format
+msgid "remote prune %s"
+msgstr "poda remota %s"
+
+#: lib/transport.tcl:19
+#, tcl-format
+msgid "Pruning tracking branches deleted from %s"
+msgstr "Podando las copias locales de ramas remotas de %s"
+
+#: lib/transport.tcl:26
+#, tcl-format
+msgid "Pushing changes to %s"
+msgstr "Propagando cambios a %s"
+
+#: lib/transport.tcl:64
+#, tcl-format
+msgid "Mirroring to %s"
+msgstr "Haciendo Mirror en %s"
+
+#: lib/transport.tcl:82
+#, tcl-format
+msgid "Pushing %s %s to %s"
+msgstr "Propagando %s %s a %s"
+
+#: lib/transport.tcl:100
+msgid "Push Branches"
+msgstr "Propagar ramas"
+
+#: lib/transport.tcl:114
+msgid "Source Branches"
+msgstr "Ramas origen"
+
+#: lib/transport.tcl:131
+msgid "Destination Repository"
+msgstr "Repositorio de destino"
+
+#: lib/transport.tcl:169
+msgid "Transfer Options"
+msgstr "Operaciones de trasferencia"
+
+#: lib/transport.tcl:171
+msgid "Force overwrite existing branch (may discard changes)"
+msgstr "Sobrescritura forzada de ramas existentes (puede descartar cambios)"
+
+#: lib/transport.tcl:175
+msgid "Use thin pack (for slow network connections)"
+msgstr "Usar paquete ligero (thin pack) (para conexiones de red lentas)"
+
+#: lib/transport.tcl:179
+msgid "Include tags"
+msgstr "Incluir etiquetas"
--
1.7.0.rc1.34.gaafa7
^ permalink raw reply related
* Re: Fix signal handler
From: Jeff King @ 2010-02-03 15:17 UTC (permalink / raw)
To: Markus Elfring; +Cc: git
In-Reply-To: <4B696447.10803@web.de>
On Wed, Feb 03, 2010 at 12:55:51PM +0100, Markus Elfring wrote:
> > It's not that we're ignoring a specification, it's that there _isn't_
> > a concrete specification for the set of systems we're interested in.
>
> I have got doubts on your view. Known specifications are available for
> POSIX and corresponding programming languages like C and C++. I know
> that they have got open issues on their own because a few important
> wordings are not as precise and clear as you might prefer.
>
> For which software environments do you miss programming standards?
Off the top of my head, I have seen mention of git running on Linux,
{Free,Net,Open}BSD, Solaris 7-10, OpenSolaris, AIX 5.x and 6.x, HP-UX,
Windows, SCO OpenServer, and SCO UnixWare. Not all of those are POSIX,
and I am not sure even if they were that we could (or would want to)
stick to a strict subset of POSIX. If all of those systems allow less
strict behavior, then what is the problem in taking advantage of it if
it makes development or maintenance of the code easier?
Ditto for C. We mostly stick to C89, but there are many parts of the C89
standard where behavior may be implementation defined or even undefined,
but in practice work just fine. I am not interested in spending a lot of
effort working around those issues just to meet the letter of the
standard if there is no practical system on which it matters.
> How many efforts would you like to spend on conditional compilation for
> "special" platforms?
If I haven't made that clear, _I_ don't want to spend any effort. If
_you_ are concerned about it, feel free to make a patch. If your patch
is not too intrusive, and especially if you can demonstrate that it is a
problem on a real-world system, then I think your patch would be
considered for inclusion upstream.
If you are not willing to spend any effort on these problems, and
instead are trying to direct _my_ priorities, then I have no interest in
listening to what you have to say (and I suspect that goes for the rest
of the regular git developers, too).
-Peff
^ permalink raw reply
* faceted search interface
From: Alex Ksikes @ 2010-02-03 12:41 UTC (permalink / raw)
To: git
Hi all,
I have just put together a system to automatically build a faceted search interface and search engine from any data. Would you mind having a look at it and letting me know what you think of it?
Here is a particular instance on IMDb (the internet movie database). You can refine by particular categories such as genres, actors or directors with the results ordered by user ratings and number of votes.
http://imdb.cloudmining.net/search?query=(@actor%20Brad%20Pitt)
This IMDb instance was built automatically. All that was needed was to setup the data in a specific format and to optionally customize the look and feel of a search result. In fact the system was also applied to DBLP:
http://dblp.cloudmining.net/search?query=(@venue%20CHI)
The system is called Cloud Mining (http://www.cloudmining.net). Your feedback would be very much appreciated.
Thank you so much,
Alex Ksikes
^ permalink raw reply
* Re: Odd error when doing "clone && cd && checkout -b"
From: Jacob Helwig @ 2010-02-03 13:25 UTC (permalink / raw)
To: Johannes Sixt; +Cc: Git
In-Reply-To: <4B692863.9000409@viscovery.net>
On Tue, Feb 2, 2010 at 23:40, Johannes Sixt <j.sixt@viscovery.net> wrote:
> Jacob Helwig schrieb:
>> vfb-9 ~/tmp % git clone git://github.com/rich97/CakeCMP.git && cd CakeCMP && git checkout -b permissions-rewrite origin/permissions-rewrite
>> Initialized empty shared Git repository in /home/jhe/tmp/CakeCMP/.git/
>> remote: Counting objects: 1508, done.
>> remote: Compressing objects: 100% (1432/1432), done.
>> remote: Total 1508 (delta 256), reused 1235 (delta 60)
>> Receiving objects: 100% (1508/1508), 844.43 KiB | 104 KiB/s, done.
>> Resolving deltas: 100% (256/256), done.
>> fatal: git checkout: updating paths is incompatible with switching branches.
>> Did you intend to checkout 'origin/permissions-rewrite' which can not be resolved as commit?
>
> Or did you intend to track 'origin/permission-rewrite' instead ;-)
>
> -- Hannes
>
> PS: Please don't set Mail-Followup-To for this list.
>
Well, I _thought_ I had used the exact same command for the "checkout
-b". Obviously, this is not the case. Bah. That's what I get for
trying to do anything so late.
Apparently Mutt defaults to setting the Mail-Followup-To, if you've let
it know about a list. Anyway...that's been fixed.
-Jacob
^ permalink raw reply
* Re: Fix signal handler
From: Thomas Rast @ 2010-02-03 13:12 UTC (permalink / raw)
To: Markus Elfring; +Cc: Jeff King, git
In-Reply-To: <4B696447.10803@web.de>
On Wednesday 03 February 2010 12:55:51 Markus Elfring wrote:
> [Jeff King wrote:]
> >
> > I think it is simply impractical.
>
> I have got the opposite opinion.
You've been wasting two regular contributors' (Avery and Peff) time on
issues they point out are impractical to fix, while demonstrating that
you have enough standards and C knowledge to do the fix yourself.
So why don't you post patches (either fixes or testcases exhibiting
the issue) instead of more mails containing the same points? This is,
after all, an open source project.
--
Thomas Rast
trast@{inf,student}.ethz.ch
^ permalink raw reply
* Re: Git and Amazon S3
From: Aneurin Price @ 2010-02-03 12:05 UTC (permalink / raw)
To: Petr Baudis; +Cc: git
In-Reply-To: <20100202194455.GO9553@machine.or.cz>
Thanks for the replies everyone.
On Tue, Feb 2, 2010 at 19:44, Petr Baudis <pasky@suse.cz> wrote:
> On Tue, Feb 02, 2010 at 01:56:41PM +0000, Aneurin Price wrote:
>> Does anyone have any remarks about these options? Is there a better option - how
>> difficult would it be to add native support to git?
>
> I'm not really familiar with Amazon S3 _or_ the current transport
> code, but by cursory examination of both, it seems that it would be
> fairly easy to add support for another transfer. And it might be even
> better idea to actually just add generic support to invoke an external
> helper to perform all the heavy lifting.
>
> Basically, all the abstraction is already pre-cooked in the form of
> rsync protocol support. I would just cut'n'paste that and replace rsync
> magic with simple calls to external helper along some sensible simple
> API, then code up an easy wrapper for S3 there. Or just add S3 API
> support directly to core Git - it doesn't seem to be licence-encumbered.
> Should take just a couple of hours including debugging, if you just
> copy the existing rsync support functions.
>
This sounds like the most interesting option, if not necessarily the most
practical. I've also discovered s3cmd (http://s3tools.org/s3cmd) which seems to
be widely packaged and could probably serve nicely as that wrapper.
If I can manage to get those couple of hours free at some point I'll give it a
go. Is this something that might be a mergeable feature?
Thanks again,
Aneurin Price
^ permalink raw reply
* Re: Fix signal handler
From: Markus Elfring @ 2010-02-03 11:55 UTC (permalink / raw)
To: Jeff King; +Cc: git
In-Reply-To: <20100203102915.GA25486@coredump.intra.peff.net>
>
> I think it is simply impractical.
I have got the opposite opinion.
> It's not that we're ignoring a specification, it's that there _isn't_
> a concrete specification for the set of systems we're interested in.
>
I have got doubts on your view. Known specifications are available for
POSIX and corresponding programming languages like C and C++. I know
that they have got open issues on their own because a few important
wordings are not as precise and clear as you might prefer.
For which software environments do you miss programming standards?
How many efforts would you like to spend on conditional compilation for
"special" platforms?
>
> But if you are interested in addressing the situation, I am suggesting
> that the first step would be to demonstrate that there in fact _is_ a
> race condition, and it is not simply some theoretical problem.
>
I try to point out this open issue once more.
Can you imagine any unwanted results if the desired address can not be
atomically set in a way that fulfils requirements for signal handler
implementations?
Can it happen that the assigned function pointer will become a dangling
pointer because of word-tearing?
Another "dangerous" use case:
Do you know if any function is called during the execution in a signal
handling context that is not async-signal-safe like "fprintf()"?
Regards,
Markus
^ permalink raw reply
* [PATCH] gitweb: Simplify (and fix) chop_str
From: Jakub Narebski @ 2010-02-03 11:28 UTC (permalink / raw)
To: J.H.; +Cc: git, John 'Warthog9' Hawley
In-Reply-To: <4B68BB4D.20105@eaglescrag.net>
From: John 'Warthog9' Hawley <warthog9@kernel.org>
The chop_str subroutine is meant to be used on strings (such as commit
description / title) *before* HTML escaping, which means before
applying esc_html or equivalent.
Therefore get rid of the failed attempt to always remove full HTML
entities (like e.g. & or ). It is not necessary (HTML
entities gets added later), and it can cause chop_str to chop a string
incorrectly.
Specifically:
API & protocol: support option to force written data immediately to disk
from http://git.kernel.org/?p=daemon/distsrv/chunkd.git;a=commit;h=3b02f749df2cb1288f345a689d85e7061f507e54
The short version of the title gets chopped to
API ...
where it should be
API & protocol: support option to force written data...
Noticed-by: John 'Warthog9' Hawley <warthog9@kernel.org>
Signed-off-by: John 'Warthog9' Hawley <warthog9@kernel.org>
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
I have retained J.H. authorship of this patch. I have rewritten
commit message, added signoffs, and removed all instances of failed
attempt of removing HTML entities whole, even though only one of them
is used.
gitweb/gitweb.perl | 4 ----
1 files changed, 0 insertions(+), 4 deletions(-)
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index d0c3ff2..1f6978a 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -1330,7 +1330,6 @@ sub chop_str {
$str =~ m/^(.*?)($begre)$/;
my ($lead, $body) = ($1, $2);
if (length($lead) > 4) {
- $body =~ s/^[^;]*;// if ($lead =~ m/&[^;]*$/);
$lead = " ...";
}
return "$lead$body";
@@ -1341,8 +1340,6 @@ sub chop_str {
$str =~ m/^(.*?)($begre)$/;
my ($mid, $right) = ($1, $2);
if (length($mid) > 5) {
- $left =~ s/&[^;]*$//;
- $right =~ s/^[^;]*;// if ($mid =~ m/&[^;]*$/);
$mid = " ... ";
}
return "$left$mid$right";
@@ -1352,7 +1349,6 @@ sub chop_str {
my $body = $1;
my $tail = $2;
if (length($tail) > 4) {
- $body =~ s/&[^;]*$//;
$tail = "... ";
}
return "$body$tail";
--
1.6.6.1
^ permalink raw reply related
* Re: Reacting to new commits in a poll-mirror
From: martin f krafft @ 2010-02-03 10:48 UTC (permalink / raw)
To: git discussion list, Junio C Hamano
In-Reply-To: <7vzl3rt88c.fsf@alter.siamese.dyndns.org>
[-- Attachment #1: Type: text/plain, Size: 963 bytes --]
also sprach Junio C Hamano <gitster@pobox.com> [2010.02.03.1432 +1300]:
> So I don't see what you find wrong about writing your script like:
>
> #!/bin/sh
> before_fetch=$(git for-each-ref --format='%(objectname)') &&
> git fetch || exit
>
> git rev-list --all --not $before_fetch |
> while read rev
> do
> do your patchwork magic...
> done
This sounds pretty much what I had in mind, and you have convinced
me that this is the right/better approach. Thanks for keeping those
feet on the ground!
--
martin | http://madduck.net/ | http://two.sentenc.es/
half a bee, philosophically, must ipso facto half not be.
but half the bee has got to be, vis-a-vis its entity. you see?
but can a bee be said to be or not to be an entire bee,
when half the bee is not a bee, due to some ancient injury?
-- monty python
spamtraps: madduck.bogus@madduck.net
[-- Attachment #2: Digital signature (see http://martin-krafft.net/gpg/) --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply
* Re: Fix signal handler
From: Jeff King @ 2010-02-03 10:29 UTC (permalink / raw)
To: Markus Elfring; +Cc: git
In-Reply-To: <4B694DEE.5030207@web.de>
On Wed, Feb 03, 2010 at 11:20:30AM +0100, Markus Elfring wrote:
> > I don't think anyone here is much interested in whether there is any
> > sort of guarantee on a particular construct working.
>
> That is a pity. - I would expect that professional software development
> will build on working specifications instead of potentially undefined
> behaviour.
I think it is simply impractical. It's not that we're ignoring a
specification, it's that there _isn't_ a concrete specification for the
set of systems we're interested in.
> > So to answer your question, I honestly don't know. The code may well
> > be broken on common platforms and it is simply a race condition that
> > has never come up. But I do know that it has not been a common source
> > of bug reports, which makes me not want to spend time investigating
> > it when nobody has demonstrated its incorrectness beyond mentioning
> > a standards document.
> [...]
> I find that programming errors in this area might be hard to identify
> from the outside because resulting race conditions and deadlocks fall
> into the symptom category of heisenbugs, don't they?
Yes, they can be hard to identify from the outside. But if you are
interested in addressing the situation, I am suggesting that the first
step would be to demonstrate that there in fact _is_ a race condition,
and it is not simply some theoretical problem.
-Peff
^ permalink raw reply
* Re: [PATCH/gitolite] Tell gitweb about repo owner via git-config
From: Sitaram Chamarty @ 2010-02-03 10:28 UTC (permalink / raw)
To: martin f. krafft; +Cc: git
In-Reply-To: <1265184827-11364-1-git-send-email-madduck@madduck.net>
On Wed, Feb 3, 2010 at 1:43 PM, martin f. krafft <madduck@madduck.net> wrote:
> Gitolite uses projects.list to set the owners for gitweb's use.
> Unfortunately, this does not work for gitweb setups that set
> $projectroot to a directory, thus generating the list of
> repositories on the fly.
>
> This patch changes that: gitolite now writes the gitweb.owner
> configuration variable for each repository (and properly cleans up after
> itself if the owner is removed).
>
> The patch causes gitolite not to write the owner to projects.list
> anymore, as this would be redundant.
>
> The owner also needs no longer be escaped, so this patch removes the
> poor man's 's/ /+/g' escaping previously in place.
>
> Note that I am not a Perl coder. Thus there are probably better ways to
> implement this, but at least it works.
>
> Cc: Sitaram Chamarty <sitaramc@gmail.com>
> Signed-off-by: martin f. krafft <madduck@madduck.net>
> ---
> src/gl-compile-conf | 19 +++++++++++++++++--
> 1 files changed, 17 insertions(+), 2 deletions(-)
>
> diff --git a/src/gl-compile-conf b/src/gl-compile-conf
> index e88819a..7cd5d2e 100755
> --- a/src/gl-compile-conf
> +++ b/src/gl-compile-conf
> @@ -284,7 +284,6 @@ sub parse_conf_file
> die "$WARN $fragment attempting to set description for $repo\n" if
> $fragment ne 'master' and $fragment ne $repo and ($groups{"\@$fragment"}{$repo} || '') ne 'master';
> $desc{"$repo.git"} = $desc;
> - $owner =~ s/ /+/g if $owner; # gitweb/INSTALL wants more, but meh...!
> $owner{"$repo.git"} = $owner || '';
> }
> else
> @@ -414,16 +413,32 @@ for my $repo (sort keys %repos) {
> $projlist{"$repo.git"} = 1;
> # add the description file; no messages to user or error checking :)
> $desc{"$repo.git"} and open(DESC, ">", $desc_file) and print DESC $desc{"$repo.git"} . "\n" and close DESC;
> + if ($owner{"$repo.git"}) {
> + # set the repository owner
> + system("git --git-dir=$repo.git config gitweb.owner '" . $owner{"$repo.git"} . "'");
> + } else {
> + # remove the repository owner setting
> + system("git --git-dir=$repo.git config --unset-all gitweb.owner 2>/dev/null");
> + }
> } else {
> # delete the description file; no messages to user or error checking :)
> unlink $desc_file;
> + # remove the repository owner setting
> + system("git --git-dir=$repo.git config --unset-all gitweb.owner 2>/dev/null");
> + }
> +
> + # unless there are other gitweb.* keys set, remove the section to keep the
> + # config file clean
> + my $keys = `git --git-dir=$repo.git config --get-regexp '^gitweb\\.' 2>/dev/null`;
> + if (length($keys) == 0) {
> + system("git --git-dir=$repo.git config --remove-section gitweb 2>/dev/null");
> }
> }
>
> # update the project list
> my $projlist_fh = wrap_open( ">", $PROJECTS_LIST);
> for my $proj (sort keys %projlist) {
> - print $projlist_fh "$proj" . ( $owner{$proj} ? " $owner{$proj}" : "" ) . "\n";
> + print $projlist_fh "$proj\n";
> }
> close $projlist_fh;
>
> --
> 1.6.6
>
>
Thanks; applied to "pu" branch with a slight modification of the git
command that sets the owner (the first one).
--
Sitaram
^ permalink raw reply
* Re: Fix signal handler
From: Markus Elfring @ 2010-02-03 10:20 UTC (permalink / raw)
To: Jeff King; +Cc: git
In-Reply-To: <20100202223208.GB18781@sigill.intra.peff.net>
> I don't think anyone here is much interested in whether there is any
> sort of guarantee on a particular construct working.
That is a pity. - I would expect that professional software development
will build on working specifications instead of potentially undefined
behaviour.
> So to answer your question, I honestly don't know. The code may well
> be broken on common platforms and it is simply a race condition that
> has never come up. But I do know that it has not been a common source
> of bug reports, which makes me not want to spend time investigating
> it when nobody has demonstrated its incorrectness beyond mentioning
> a standards document.
>
Thanks for your clarification.
I find that programming errors in this area might be hard to identify
from the outside because resulting race conditions and deadlocks fall
into the symptom category of heisenbugs, don't they?
How many software developers do deal with the nasty design details for
signal handler implementations correctly?
Regards,
Markus
^ permalink raw reply
* Re: [BUG] - "git commit --amend" commits, when exiting the editor with no changes written
From: Jeff King @ 2010-02-03 10:15 UTC (permalink / raw)
To: Eugene Sajine; +Cc: Larry D'Anna, git
In-Reply-To: <20100203093150.GA23956@coredump.intra.peff.net>
On Wed, Feb 03, 2010 at 04:31:50AM -0500, Jeff King wrote:
> > Or, he can set his $EDITOR to a script that checks the mtime.
>
> Agreed. It could even look like this:
Also, while we are talking about editor-specific hacks, if you are using
vim you can use ":cq" to exit with an error code.
-Peff
^ permalink raw reply
* Re: gitk translation updates needed?
From: Michele Ballabio @ 2010-02-03 10:13 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Paul Mackerras, git
In-Reply-To: <7vd40nundv.fsf_-_@alter.siamese.dyndns.org>
On Wednesday 03 February 2010, Junio C Hamano wrote:
> Generating catalog po/it.msg
> msgfmt --statistics --tcl po/it.po -l it -d po/
> 282 translated messages, 1 fuzzy translation, 6 untranslated messages.
I don't get any fuzzy translation here, but I used to, so I guess it
regards the copyright message. If that's the case, maybe msgfmt
mishandles the (C)opyright sign (or maybe gitk uses a weird encoding,
I don't know).
The untranslated messages are either abbreviations (IgnCase) or
expressions I couldn't translate effectively (Cherry-picking);
they are quite understandable anyway.
^ permalink raw reply
* Re: git-gui translation updates needed
From: Michele Ballabio @ 2010-02-03 10:11 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Shawn O. Pearce, git
In-Reply-To: <7vy6jbunu8.fsf@alter.siamese.dyndns.org>
On Wednesday 03 February 2010, Junio C Hamano wrote:
> - It is curious that de.po is based on a version of .pot that is
> different from the official git-gui.pot, even though it seems to be
> up-to-date (no, I don't read German, but running "msgmerge -U po/de.po
> po/git-gui.pot" doesn't seem to detect anything missing).
>
> Build log for "de" also says that has 520 messages all translated.
IIRC, the timetable was:
* Christian Stimming submits a new de.po
* Shawn Pearce updates git-gui.pot and asks for help
* other languages are submitted
So de.po has a different date, but doesn't miss anything since
no major change has occurred in git-gui.git in the meantime.
> - I am seeing "1 untranslated", even though it.po is based on the latest
> git-gui.pot. It translates "buckets" to an empty string; somebody who
> care about Italian may need to double check.
An empty string means "there's no translation, use the default" -- in
this case: "buckets". I left it this way because I couldn't come up
with a decent translation, and I wanted to keep a reminder.
In this case, git-gui is counting objects during a clone;
would it be OK to consider "buckets" as synonim of
"objects" or "items" or something else?
Then I would translate accordingly.
^ permalink raw reply
* Re: How to rebase and rename?
From: Jeff King @ 2010-02-03 9:48 UTC (permalink / raw)
To: Peter Krefting; +Cc: Git Mailing List
In-Reply-To: <alpine.DEB.2.00.1002030958380.17444@ds9.cixit.se>
On Wed, Feb 03, 2010 at 10:05:10AM +0100, Peter Krefting wrote:
> If I have a repository with a topic branch that is published, and
> that I want to rebase and republish under a new name, is there an
> easy way of doing that?
> [...]
> Currently, I do something along the lines of:
>
> git branch topic-2 topic-1
> git rebase master topic-2
>
> but that feels wrong as it creates the "topic-2" branch pointing the
> the wrong way first. Is there a way to eliminate that step?
No, I think that is the best way to do it. Since the creation of topic-2
is happening in your (presumably) private repo, it is not a big deal for
it to exist in an unintertesting state for a few seconds.
If you really cared, you could do the work on a detached HEAD and then
assign the result to a new branch, but that is even more typing:
git checkout topic-1^0
git rebase master
git checkout -b topic-2
It also causes git to do slightly more work. In your example, the branch
creation is O(1), then rebase resets back to master and applies each
commit in topic-1 in turn. In mine, we actually reset the checkout to
topic-1, then reset it to master, and then apply the commits. Not that
it probably matters unless you have some enormous repository.
-Peff
^ permalink raw reply
* Re: [BUG] - "git commit --amend" commits, when exiting the editor with no changes written
From: Paolo Bonzini @ 2010-02-03 9:46 UTC (permalink / raw)
To: git
In-Reply-To: <76c5b8581002021609i4c05d039k35979757fbb74676@mail.gmail.com>
On 02/03/2010 01:09 AM, Eugene Sajine wrote:
>> Sorry, your "if message was not saved, abort" is so out of line with any
>> program I use that this would be highly confusing (maybe "complicated" was
>> the wrong choice of words).
>
> Frankly, i think it is in line with "git commit"
The fundamental problem is this. The behavior of "git commit" can be
explained in two ways: a) abort if not saved; b) abort if empty. (a)
may be an easier guess from experience (you type ":q!" at the vi
prompt), but (b) is clear from the error message ("commit has empty
message--aborting"). All this is irrefutable.
Now, the scientific method to see which one is correct, would be to try
other commands including "git commit --amend" and see which of the two
hypotheses was right. It turns out to be that (b) is correct and
consistent across various commands; instead you insist that everything
else should be modified to conform to (a). Since git is already
consistent, and since nobody can think of a way to implement your
proposal, there is obvious resistence to any change in this area.
Paolo
^ permalink raw reply
* Re: aborting rebase -i right at the start, was Re: [BUG] - "git commit --amend" commits, when exiting the editor with no changes written
From: SZEDER Gábor @ 2010-02-03 9:41 UTC (permalink / raw)
To: Johannes Schindelin
Cc: Matthieu Moy, Eugene Sajine, kusmabite, Wincent Colaiuta,
Avery Pennarun, Jacob Helwig, git
In-Reply-To: <alpine.DEB.1.00.1002031006570.3099@intel-tinevez-2-302>
On Wed, Feb 03, 2010 at 10:08:50AM +0100, Johannes Schindelin wrote:
> Hi,
>
> On Wed, 3 Feb 2010, Matthieu Moy wrote:
>
> > Strictly speaking, an empty [rebase -i] todolist should mean to drop all
> > the patches (like a todolist with just one line would mean to drop all
> > the others). But a user never wants to do that (otherwise, "git reset"
> > would be the right command), so "git rebase -i" considers it as a
> > special case.
>
> Actually, it is a design bug, but it was the only sane way I could think
> of aborting the rebase.
>
> Note that there _are_ users who want to do that ("let me see what commits
> I have, ah, oh, okay, I want none of them"). I am one of those.
I regularly mess up the todo file so badly that I don't want to bother
with undo but rather start over from the beginning.
Best,
Gábor
^ permalink raw reply
* Re: [BUG] - "git commit --amend" commits, when exiting the editor with no changes written
From: Jeff King @ 2010-02-03 9:31 UTC (permalink / raw)
To: Eugene Sajine; +Cc: Larry D'Anna, git
In-Reply-To: <20100203061535.GA6566@cthulhu>
On Wed, Feb 03, 2010 at 01:15:35AM -0500, Larry D'Anna wrote:
> * Avery Pennarun (apenwarr@gmail.com) [100202 18:41]:
> > You can however add *new* stuff. That's why I suggested adding an
> > option. You could even make it a config option so you only have to
> > set it once (just like setting your preferred editor).
>
> Or, he can set his $EDITOR to a script that checks the mtime.
Agreed. It could even look like this:
-- >8 --
$ cat >vi-must-edit <<'EOF'
#!/usr/bin/perl
sub mtime { (stat $_[0])[9] }
my $old = mtime($ARGV[-1]);
system('vi', @ARGV) and die "vi failed";
if (mtime($ARGV[-1]) == $old) {
print STDERR "Aborting unmodified message\n";
exit 1;
}
exit 0
EOF
$ chmod +x vi-must-edit
$ GIT_EDITOR=$PWD/vi-must-edit; export GIT_EDITOR
$ git commit --amend ;# and then quit the editor immediately
Aborting unmodified message
error: There was a problem with the editor 'vi-must-edit'.
Please supply the message using either -m or -F option.
-- 8< --
Do note, though, that there is a subtle race condition in using the
mtime. If you make a change and save within a second of the editor
starting, it will be ignored. To be thorough, you would probably want to
check the size and inode, as well.
-Peff
^ permalink raw reply
* aborting rebase -i right at the start, was Re: [BUG] - "git commit --amend" commits, when exiting the editor with no changes written
From: Johannes Schindelin @ 2010-02-03 9:08 UTC (permalink / raw)
To: Matthieu Moy
Cc: SZEDER Gábor, Eugene Sajine, kusmabite, Wincent Colaiuta,
Avery Pennarun, Jacob Helwig, git
In-Reply-To: <vpqaavqkc1s.fsf@bauges.imag.fr>
Hi,
On Wed, 3 Feb 2010, Matthieu Moy wrote:
> Strictly speaking, an empty [rebase -i] todolist should mean to drop all
> the patches (like a todolist with just one line would mean to drop all
> the others). But a user never wants to do that (otherwise, "git reset"
> would be the right command), so "git rebase -i" considers it as a
> special case.
Actually, it is a design bug, but it was the only sane way I could think
of aborting the rebase.
Note that there _are_ users who want to do that ("let me see what commits
I have, ah, oh, okay, I want none of them"). I am one of those. That's
where the underadvertised "noop" command comes in.
Ciao,
Dscho
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox