# # # add_file "tests/t_log_to_file.at" # content [4a9ad6b478915e87c07d13d7d15b8bdb6ae0a92c] # # patch "ChangeLog" # from [079a4b3cef2218ef7aeb4a57a548b2720af47ce4] # to [b5e37356b5ad1150cd89ab51480691709e498a42] # # patch "monotone.cc" # from [be4b86d0b45dd8e7878dab48d35da8fb9df8d327] # to [6626e22d6ef4d9c8d3380a2f498599dd57bc6d3d] # # patch "monotone.texi" # from [9b606b6966a813c818fab81aba89367aa0644533] # to [1fcc35f2ac3ca9ba692509cd29f6f5ff01b6616a] # # patch "options.hh" # from [e8d50e333b5dd4045c96a414a83ce7cc9e48f551] # to [16194449c59ae0307ab9bbf15ae879f0f8063fdd] # # patch "po/sv.po" # from [754e90276863a8b1a53cad17c575bb93ffcdd5b4] # to [e065ecfd2c28c0ea89877c3c95ceeae23190b320] # # patch "testsuite.at" # from [3f40181b4e040f5153c40ee6da60880f1cad3209] # to [4d3066e6f5228aaa1c61ec4aabc29e3b30939908] # # patch "ui.cc" # from [f412b8a06dfed701085469c14e62e359369469cf] # to [7bef43275fba7bdf4c2dc03ee191776dc2a57834] # # patch "ui.hh" # from [496479433aee1e5ff51e96a22ae7cb662d71c4b8] # to [5a1e338407beeda0b373e5296d9106d4a6d9f35f] # ============================================================ --- tests/t_log_to_file.at 4a9ad6b478915e87c07d13d7d15b8bdb6ae0a92c +++ tests/t_log_to_file.at 4a9ad6b478915e87c07d13d7d15b8bdb6ae0a92c @@ -0,0 +1,17 @@ +# -*- Autoconf -*- + +AT_SETUP([check --log]) + +MONOTONE_SETUP + +AT_DATA(input.txt, [random content +]) + +AT_CHECK(MONOTONE add input.txt, [], [ignore], [ignore]) + +AT_CHECK(MONOTONE --branch=testbranch --log=log.log commit -m "test", [], [stdout], [ignore]) + +AT_CHECK(QGREP('^monotone:' stdout), [1]) +AT_CHECK(QGREP('^monotone:' log.log), [0]) + +AT_CLEANUP ============================================================ --- ChangeLog 079a4b3cef2218ef7aeb4a57a548b2720af47ce4 +++ ChangeLog b5e37356b5ad1150cd89ab51480691709e498a42 @@ -1,3 +1,15 @@ +2006-02-20 Richard Levitte + + * monotone.cc (cpp_main), options.hh, ui.cc (redirect_log_to), + ui.hh (struct user_interface): Add --log option, to redirect the + log lines to a file. + + * monotone.texi (OPTIONS): Document it. + + * po/sv.po: Translate help for this option to Swedish. + + * testsuite.at, tests/t_log_to_file.at: Test it. + 2006-02-19 Nathaniel Smith * roster.cc (shallow_equal): Publically expose. ============================================================ --- monotone.cc be4b86d0b45dd8e7878dab48d35da8fb9df8d327 +++ monotone.cc 6626e22d6ef4d9c8d3380a2f498599dd57bc6d3d @@ -85,6 +85,7 @@ {"debug", 0, POPT_ARG_NONE, NULL, OPT_DEBUG, gettext_noop("print debug log to stderr while running"), NULL}, {"dump", 0, POPT_ARG_STRING, &argstr, OPT_DUMP, gettext_noop("file to dump debugging log to, on failure"), NULL}, + {"log", 0, POPT_ARG_STRING, &argstr, OPT_LOG, gettext_noop("file to write the log to"), NULL}, {"quiet", 0, POPT_ARG_NONE, NULL, OPT_QUIET, gettext_noop("suppress log and progress messages"), NULL}, {"help", 'h', POPT_ARG_NONE, NULL, OPT_HELP, gettext_noop("display help message"), NULL}, {"version", 0, POPT_ARG_NONE, NULL, OPT_VERSION, gettext_noop("print version number, then exit"), NULL}, @@ -333,6 +334,10 @@ global_sanity.filename = system_path(argstr); break; + case OPT_LOG: + ui.redirect_log_to(system_path(argstr)); + break; + case OPT_DB_NAME: app.set_database(system_path(argstr)); break; ============================================================ --- monotone.texi 9b606b6966a813c818fab81aba89367aa0644533 +++ monotone.texi 1fcc35f2ac3ca9ba692509cd29f6f5ff01b6616a @@ -7757,6 +7757,10 @@ Dump debugging log to @i{} on failure. @comment TROFF INPUT: .TP address@hidden @address@hidden} +Redirect the log lines to to @i{}. address@hidden TROFF INPUT: .TP + @item @b{--nostd} Do not evaluate "standard" Lua hooks compiled into @b{monotone}. @comment TROFF INPUT: .TP ============================================================ --- options.hh e8d50e333b5dd4045c96a414a83ce7cc9e48f551 +++ options.hh 16194449c59ae0307ab9bbf15ae879f0f8063fdd @@ -52,3 +52,4 @@ #define OPT_CONF_DIR 43 #define OPT_DROP_ATTR 44 #define OPT_NO_FILES 45 +#define OPT_LOG 46 ============================================================ --- po/sv.po 754e90276863a8b1a53cad17c575bb93ffcdd5b4 +++ po/sv.po e065ecfd2c28c0ea89877c3c95ceeae23190b320 @@ -144,8 +144,8 @@ msgstr "" "Project-Id-Version: monotone 0.26pre1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-02-11 08:32+0100\n" -"PO-Revision-Date: 2006-02-11 08:43+0100\n" +"POT-Creation-Date: 2006-02-20 17:26+0100\n" +"PO-Revision-Date: 2006-02-20 17:28+0100\n" "Last-Translator: Joel Rosdahl \n" "Language-Team: Richard Levitte \n" "MIME-Version: 1.0\n" @@ -303,7 +303,7 @@ msgstr "pid-filen '%s' finns redan" #: commands.cc:325 commands.cc:1295 commands.cc:1365 commands.cc:1801 -#: commands.cc:2722 commands.cc:3266 commands.cc:3497 commands.cc:3536 +#: commands.cc:2722 commands.cc:3267 commands.cc:3498 commands.cc:3537 msgid "informative" msgstr "informativ" @@ -343,7 +343,7 @@ #: commands.cc:481 commands.cc:737 commands.cc:1383 commands.cc:1460 #: commands.cc:1888 commands.cc:2772 commands.cc:2800 commands.cc:2803 -#: commands.cc:2939 commands.cc:3519 +#: commands.cc:2939 commands.cc:3520 #, c-format msgid "no such revision '%s'" msgstr "det finns ingen revision med identiteten '%s'" @@ -618,13 +618,13 @@ msgid "empty comment" msgstr "tom kommentar" -#: commands.cc:1168 commands.cc:1196 commands.cc:1221 commands.cc:1342 -#: commands.cc:2224 commands.cc:2342 commands.cc:2875 commands.cc:3314 +#: commands.cc:1168 commands.cc:1196 commands.cc:1221 commands.cc:2224 +#: commands.cc:2342 commands.cc:2875 commands.cc:3315 msgid "workspace" msgstr "arbetskopia" #: commands.cc:1168 commands.cc:1196 commands.cc:1295 commands.cc:2342 -#: commands.cc:2722 commands.cc:3314 +#: commands.cc:2722 commands.cc:3315 msgid "[PATH]..." msgstr "[SÖKVÄG]..." @@ -651,7 +651,8 @@ msgid "rename entries in the workspace" msgstr "byt namn på filer i arbetskopian" -#: commands.cc:1249 commands.cc:1262 commands.cc:3417 commands.cc:3857 +#: commands.cc:1249 commands.cc:1262 commands.cc:1342 commands.cc:3418 +#: commands.cc:3859 msgid "debug" msgstr "felsökning" @@ -708,13 +709,13 @@ msgid "write file from database to stdout" msgstr "skriv ut angiven fil från databasen" -#: commands.cc:1395 commands.cc:1397 commands.cc:3528 +#: commands.cc:1395 commands.cc:1397 commands.cc:3529 #, c-format msgid "no file '%s' found in revision '%s'\n" msgstr "filen '%s' finns inte i revisionen '%s'\n" #: commands.cc:1409 commands.cc:1531 commands.cc:3076 commands.cc:3125 -#: commands.cc:3214 commands.cc:3221 commands.cc:3770 +#: commands.cc:3214 commands.cc:3222 commands.cc:3772 msgid "tree" msgstr "träd" @@ -1224,13 +1225,13 @@ msgid "merging with revision %d / %d\n" msgstr "slår ihop med revision %d av %d\n" -#: commands.cc:3101 commands.cc:3102 commands.cc:3169 commands.cc:3244 -#: commands.cc:3245 +#: commands.cc:3101 commands.cc:3102 commands.cc:3169 commands.cc:3245 +#: commands.cc:3246 #, c-format msgid "[source] %s\n" msgstr "[källa] %s\n" -#: commands.cc:3119 commands.cc:3210 commands.cc:3263 +#: commands.cc:3119 commands.cc:3210 commands.cc:3264 #, c-format msgid "[merged] %s\n" msgstr "[ihopslagen] %s\n" @@ -1282,58 +1283,58 @@ msgid "refresh the inodeprint cache" msgstr "uppdatera inodeprint-cachen" -#: commands.cc:3222 +#: commands.cc:3223 msgid "LEFT-REVISION RIGHT-REVISION DEST-BRANCH" msgstr "VÄNSTERREVISION HÖGERREVISION MÅLGREN" -#: commands.cc:3223 +#: commands.cc:3224 msgid "merge two explicitly given revisions, placing result in given branch" msgstr "" "slå ihop två explicit angivna revisioner, placera resultatet i angiven gren" -#: commands.cc:3237 +#: commands.cc:3238 #, c-format msgid "%s and %s are the same revision, aborting" msgstr "%s och %s är samma revision, avbryter" -#: commands.cc:3239 commands.cc:3241 +#: commands.cc:3240 commands.cc:3242 #, c-format msgid "%s is already an ancestor of %s" msgstr "%s är redan förfader till %s" -#: commands.cc:3266 +#: commands.cc:3267 msgid "(revision|file|key) PARTIAL-ID" msgstr "(revision|file|key) PARTIAL-ID" -#: commands.cc:3267 +#: commands.cc:3268 msgid "complete partial id" msgstr "utöka den partiella identiteten" -#: commands.cc:3276 +#: commands.cc:3277 #, c-format msgid "non-hex digits in partial id" msgstr "något tecken i den partiella identiteten är inte hexadecimalt" -#: commands.cc:3315 +#: commands.cc:3316 #, fuzzy msgid "revert file(s), dir(s) or entire workspace (\".\")" msgstr "återställ fil(er), katalog(er) eller hela arbetskopian (\".\")" -#: commands.cc:3392 +#: commands.cc:3393 #, c-format msgid "reverting %s" msgstr "återställer %s" -#: commands.cc:3396 +#: commands.cc:3397 #, c-format msgid "no file version %s found in database for %s" msgstr "filversionen %s finns inte i databasen för %s" -#: commands.cc:3417 +#: commands.cc:3418 msgid "RCSFILE..." msgstr "RCSFIL..." -#: commands.cc:3418 +#: commands.cc:3419 msgid "" "parse versions in RCS files\n" "this command doesn't reconstruct or import revisions.you probably want " @@ -1343,36 +1344,36 @@ "detta kommando importerar inte revisioner; du vill antagligen använda\n" "cvs_import" -#: commands.cc:3434 +#: commands.cc:3435 msgid "rcs" msgstr "rcs" -#: commands.cc:3434 +#: commands.cc:3435 msgid "CVSROOT" msgstr "CVSROOT" -#: commands.cc:3434 +#: commands.cc:3435 msgid "import all versions in CVS repository" msgstr "importera alla revisioner i ett CVS-arkiv" -#: commands.cc:3497 +#: commands.cc:3498 msgid "PATH" msgstr "SÖKVÄG" -#: commands.cc:3498 +#: commands.cc:3499 msgid "print annotated copy of the file from REVISION" msgstr "skriv ut filen ur REVISION med extra detaljer" -#: commands.cc:3518 +#: commands.cc:3519 #, c-format msgid "no revision for file '%s' in database" msgstr "filen '%s' har ingen revision i databasen" -#: commands.cc:3536 +#: commands.cc:3537 msgid "[FILE] ..." msgstr "[FIL] ..." -#: commands.cc:3537 +#: commands.cc:3538 msgid "" "print history in reverse order (filtering by 'FILE'). If one or more\n" "revisions are given, use them as a starting point." @@ -1381,35 +1382,35 @@ "arbetskatalogen om inga filer angivits. Om en eller flera revisioner\n" "har angivits används de som utgångspunkter." -#: commands.cc:3584 +#: commands.cc:3586 #, c-format msgid "Unknown file '%s' for log command" msgstr "Okänd fil '%s'" -#: commands.cc:3602 +#: commands.cc:3604 #, c-format msgid "only one of --last/--next allowed" msgstr "enbart en av --last eller --next tillåten" -#: commands.cc:3770 +#: commands.cc:3772 msgid "[DIRECTORY]" msgstr "[KATALOG]" -#: commands.cc:3770 +#: commands.cc:3772 #, fuzzy msgid "setup a new workspace directory, default to current" msgstr "initiera en ny arbetskatalog (nuvarande om katalog ej anges)" -#: commands.cc:3776 +#: commands.cc:3778 #, c-format msgid "need --branch argument for setup" msgstr "du måste ange en gren med --branch till kommandot \"setup\"" -#: commands.cc:3790 +#: commands.cc:3792 msgid "automation" msgstr "automatisering" -#: commands.cc:3791 +#: commands.cc:3793 msgid "" "interface_version\n" "heads [BRANCH]\n" @@ -1453,40 +1454,40 @@ "get_revision [REVID]\n" "keys\n" -#: commands.cc:3811 +#: commands.cc:3813 msgid "automation interface" msgstr "automatiseringsgränssnitt" -#: commands.cc:3825 commands.cc:3841 +#: commands.cc:3827 commands.cc:3843 msgid "vars" msgstr "variabler" -#: commands.cc:3825 +#: commands.cc:3827 msgid "DOMAIN NAME VALUE" msgstr "DOMÄN NAMN VÄRDE" -#: commands.cc:3826 +#: commands.cc:3828 msgid "set the database variable NAME to VALUE, in domain DOMAIN" msgstr "sätt databasvariabeln NAMN till VÄRDE i domänen DOMÄN" -#: commands.cc:3841 +#: commands.cc:3843 msgid "DOMAIN NAME" msgstr "DOMÄN NAMN" -#: commands.cc:3842 +#: commands.cc:3844 msgid "remove the database variable NAME in domain DOMAIN" msgstr "ta bort databasvariabeln NAMN från domänen DOMÄN" -#: commands.cc:3853 +#: commands.cc:3855 #, c-format msgid "no var with name %s in domain %s" msgstr "det finns inga variabler med namnet %s i domänen %s" -#: commands.cc:3857 +#: commands.cc:3859 msgid "REVID" msgstr "REVID" -#: commands.cc:3858 +#: commands.cc:3860 msgid "dump the roster associated with the given REVID" msgstr "skriv ut den roster som hör ihop med angivet REVID" @@ -1502,7 +1503,7 @@ msgid "markings" msgstr "markeringar" -#: database_check.cc:319 database_check.cc:507 netsync.cc:2719 +#: database_check.cc:319 database_check.cc:507 netsync.cc:2755 #: rcs_import.cc:1226 msgid "revisions" msgstr "revisioner" @@ -1511,7 +1512,7 @@ msgid "ancestry" msgstr "föräldraskap" -#: database_check.cc:451 netsync.cc:2723 +#: database_check.cc:451 netsync.cc:2759 msgid "keys" msgstr "nycklar" @@ -1780,7 +1781,7 @@ msgid "database is good\n" msgstr "databasen är i gott skick\n" -#: database.cc:134 +#: database.cc:144 #, c-format msgid "" "layout of database %s doesn't match this version of monotone\n" @@ -1794,7 +1795,7 @@ "(detta går inte att ångra; du vill nog ta en säkerhetskopia av databasen\n" "först)" -#: database.cc:158 +#: database.cc:168 #, c-format msgid "" "database %s contains revisions but no rosters\n" @@ -1813,7 +1814,7 @@ " sedan databasen på nytt.\n" "ursäkta besväret." -#: database.cc:177 +#: database.cc:187 #, c-format msgid "" "database %s contains manifests but no revisions\n" @@ -1824,19 +1825,19 @@ "detta är en väldigt gammal databas; den behöver uppgraderas\n" "var god läs README.changesets för detaljer" -#: database.cc:238 +#: database.cc:248 #, c-format msgid "unable to probe database version in file %s" msgstr "kunde inte hitta någon databasversion i filen %s" -#: database.cc:245 +#: database.cc:255 #, c-format msgid "database %s is not an sqlite version 3 file, try dump and reload" msgstr "" "databasen %s är inte skapad med SQLite version 3; testa att dumpa och ladda " "på nytt" -#: database.cc:272 +#: database.cc:282 msgid "" "make sure database and containing directory are writeable\n" "and you have not run out of disk space" @@ -1845,7 +1846,7 @@ "i\n" "samt att det finns tillräckligt med ledigt utrymme på disken" -#: database.cc:278 +#: database.cc:288 #, c-format msgid "" "sqlite error: %d: %s\n" @@ -1854,12 +1855,12 @@ "sqlite-fel: %d: %s\n" "%s" -#: database.cc:324 +#: database.cc:334 #, c-format msgid "could not initialize database: %s: already exists" msgstr "kunde inte initiera databasen: %s: den finns redan" -#: database.cc:329 +#: database.cc:339 #, c-format msgid "" "existing (possibly stale) journal file '%s' has same stem as new database '%" @@ -1870,12 +1871,12 @@ "databasen '%s'\n" "avbryter skapandet av databasen" -#: database.cc:451 +#: database.cc:461 #, c-format msgid "cannot create %s; it already exists" msgstr "kan inte skapa %s; den finns redan" -#: database.cc:511 +#: database.cc:521 #, c-format msgid "" "schema version : %s\n" @@ -1916,52 +1917,52 @@ " cert : %u\n" " total : %u\n" -#: database.cc:565 +#: database.cc:575 #, c-format msgid "database schema version: %s" msgstr "databasens schemaversion: %s" -#: database.cc:642 +#: database.cc:652 #, c-format msgid "multiple statements in query: %s\n" msgstr "multipla kommandon i databasfråga: %s\n" -#: database.cc:648 +#: database.cc:658 #, c-format msgid "wanted %d columns got %d in query: %s\n" msgstr "ville ha %d kolumner, fick %d i databasfråga: %s\n" -#: database.cc:706 +#: database.cc:716 #, c-format msgid "null result in query: %s\n" msgstr "inget resultat med databasfråga: %s\n" -#: database.cc:724 +#: database.cc:734 #, c-format msgid "wanted %d rows got %s in query: %s\n" msgstr "ville ha %d rader, fick %s i databasfråga: %s\n" -#: database.cc:1771 +#: database.cc:1781 #, c-format msgid "another key with name '%s' already exists" msgstr "det finns redan en annan nyckel med namnet '%s'" -#: database.cc:2815 +#: database.cc:2825 #, c-format msgid "no database specified" msgstr "ingen databas angiven" -#: database.cc:2823 +#: database.cc:2833 #, c-format msgid "database %s does not exist" msgstr "databasen %s finns inte" -#: database.cc:2824 +#: database.cc:2834 #, c-format msgid "%s is a directory, not a database" msgstr "%s är en katalog, inte en databas" -#: database.cc:2849 +#: database.cc:2859 #, c-format msgid "could not open database '%s': %s" msgstr "kunde inte öppna databasen '%s': %s" @@ -2344,100 +2345,109 @@ msgid "when rosterifying, drop attrs entries with the given key" msgstr "släng attribut med den givna nyckeln vid konvertering till 'rosters'" -#: monotone.cc:85 +#: monotone.cc:77 +#, fuzzy +msgid "exclude files when printing logs" +msgstr "ta med ihopslagningar i loggen" + +#: monotone.cc:86 msgid "print debug log to stderr while running" msgstr "skriv ut felsökningslogg till stderr under körning" -#: monotone.cc:86 +#: monotone.cc:87 msgid "file to dump debugging log to, on failure" msgstr "fil att skriva ut felsökningsloggen till om något gick fel" -#: monotone.cc:87 +#: monotone.cc:88 +msgid "file to write the log to" +msgstr "fil att skriva ut loggen till" + +#: monotone.cc:89 msgid "suppress log and progress messages" msgstr "skriv inte ut loggar eller förloppsmeddelanden" -#: monotone.cc:88 +#: monotone.cc:90 msgid "display help message" msgstr "skriv ut extra hjälptext" -#: monotone.cc:89 +#: monotone.cc:91 msgid "print version number, then exit" msgstr "skriv ut versionsnumret och avsluta sedan omedelbart" -#: monotone.cc:90 +#: monotone.cc:92 msgid "print detailed version number, then exit" msgstr "skriv ut detaljerad versionsinformation och avsluta sedan omedelbart" -#: monotone.cc:91 +#: monotone.cc:93 msgid "insert command line arguments taken from the given file" msgstr "använd kommandoradsargument ur denna fil" -#: monotone.cc:92 +#: monotone.cc:94 msgid "set ticker style (count|dot|none)" msgstr "sätt stilen för förloppsinformationen (count|dot|none)" -#: monotone.cc:93 +#: monotone.cc:95 msgid "do not load standard lua hooks" msgstr "använd inte standard-lua-rutinerna" -#: monotone.cc:94 +#: monotone.cc:96 msgid "do not load ~/.monotone/monotonerc or MT/monotonerc lua files" msgstr "använd inte ~/.monotone/monotonerc eller MT/monotonerc" -#: monotone.cc:95 +#: monotone.cc:97 msgid "load extra rc file" msgstr "använd denna lua-fil" -#: monotone.cc:96 +#: monotone.cc:98 msgid "set key for signatures" msgstr "ange nyckel att signera med" -#: monotone.cc:97 +#: monotone.cc:99 msgid "set name of database" msgstr "ange databasens filnamn" -#: monotone.cc:98 +#: monotone.cc:100 #, fuzzy msgid "limit search for workspace to specified root" msgstr "begränsa sökningen efter arbetskatalogen till denna katalog" -#: monotone.cc:99 +#: monotone.cc:101 msgid "verbose completion output" msgstr "ge utförlig information" -#: monotone.cc:100 +#: monotone.cc:102 msgid "set location of key store" msgstr "ange i vilken katalog nycklarna finns" -#: monotone.cc:101 +#: monotone.cc:103 msgid "set location of configuration directory" msgstr "ange i vilken katalog konfigurationsfilerna finns" -#: monotone.cc:205 +#: monotone.cc:207 #, c-format msgid "problem parsing arguments from file %s: %s" msgstr "problem att tyda argumenten i filen %s: %s" -#: monotone.cc:214 +#: monotone.cc:216 #, c-format msgid "weird error when stuffing arguments read from %s: %s\n" msgstr "underligt fel när argument lästa från %s stoppades in: %s\n" -#: monotone.cc:294 +#: monotone.cc:296 msgid "[OPTION...] command [ARGS...]\n" msgstr "[FLAGGOR...] kommando [ARGUMENT...]\n" -#: monotone.cc:532 +#: monotone.cc:542 #, c-format msgid "syntax error near the \"%s\" option: %s" msgstr "syntaxfel nära flaggan \"%s\": %s" -#: monotone.cc:571 +#: monotone.cc:581 #, c-format msgid "monotone %s doesn't use the option %s" msgstr "monotone %s använder inte flaggan %s" -#: monotone.cc:606 +#: monotone.cc:616 #, c-format msgid "Options specific to 'monotone %s':" msgstr "Specifika flaggor för 'monotone %s':" @@ -2885,53 +2895,53 @@ msgid "fd %d (peer %s) has been idle too long, disconnecting\n" msgstr "fd %d (%s) har varit inaktiv för länge, kopplar ifrån\n" -#: netsync.cc:2588 +#: netsync.cc:2610 #, c-format msgid "beginning service on %s : %s\n" msgstr "startar tjänst på %s : %s\n" -#: netsync.cc:2603 +#: netsync.cc:2625 #, c-format msgid "session limit %d reached, some connections will be refused\n" msgstr "" "gränsen för antalet sessioner, %d, är nådd, en del uppkopplingar kommer att " "nekas\n" -#: netsync.cc:2658 +#: netsync.cc:2680 #, c-format msgid "got OOB from peer %s, disconnecting\n" msgstr "fick OOB-data från %s, kopplar ifrån\n" -#: netsync.cc:2713 +#: netsync.cc:2749 #, c-format msgid "finding items to synchronize:\n" msgstr "letar efter saker att synkronisera:\n" -#: netsync.cc:2721 +#: netsync.cc:2757 msgid "certificates" msgstr "certifikat" -#: netsync.cc:2830 +#: netsync.cc:2866 #, c-format msgid "Cannot find key '%s'" msgstr "Kan inte hitta nyckeln '%s'" -#: netsync.cc:2870 +#: netsync.cc:2906 #, c-format msgid "include branch pattern contains a quote character:\n" msgstr "grenmönstret givet med --include innehåller ett citattecken\n" -#: netsync.cc:2871 netsync.cc:2877 +#: netsync.cc:2907 netsync.cc:2913 #, c-format msgid "%s\n" msgstr "%s\n" -#: netsync.cc:2876 +#: netsync.cc:2912 #, c-format msgid "exclude branch pattern contains a quote character:\n" msgstr "grenmönstret givet med --exclude innehåller ett citattecken\n" -#: netsync.cc:2899 netsync.cc:2903 +#: netsync.cc:2935 netsync.cc:2939 #, c-format msgid "network error: %s" msgstr "nätverksfel: %s" @@ -3114,20 +3124,6 @@ msgid "rebuilding revision graph from manifest certs\n" msgstr "bygger om revisionsgrafen från manifestcert\n" -#: sanity.cc:54 -#, c-format -msgid "" -"wrote debugging log to %s\n" -"if reporting a bug, please include this file" -msgstr "" -"skrev felsökningslogg till %s\n" -"om du rapporterar ett fel, var god bifoga den filen" - -#: sanity.cc:59 -#, c-format -msgid "failed to write debugging log to %s\n" -msgstr "misslyckades med att skriva felsökningsloggen till %s\n" - #: sanity.cc:116 #, c-format msgid "fatal: formatter failed on %s:%d: %s" @@ -3238,7 +3234,7 @@ "Något gick fel när textredigeraren '%s' skulle användas för att skriva ett " "loggmeddelande\n" -#: std_hooks.lua:501 +#: std_hooks.lua:496 msgid "executing external 3-way merge command\n" msgstr "använder externt 3-vägs ihopslagningskommando\n" @@ -3290,7 +3286,7 @@ "var god skicka detta felmeddelande, utskriften av 'monotone --full-version'\n" "och en beskrivning av det du gjorde till %s.\n" -#: ui.cc:412 +#: ui.cc:422 msgid "monotone: " msgstr "monotone: " @@ -3429,36 +3425,58 @@ msgid "base revision %s does not exist in database\n" msgstr "grundrevisionen %s finns inte i databasen\n" -#: work.cc:776 work.cc:787 +#: work.cc:771 +#, fuzzy, c-format +msgid "dropping %s" +msgstr "slänger cert\n" + +#: work.cc:782 work.cc:793 #, c-format msgid "path %s already exists" msgstr "sökvägen %s finns redan" -#: work.cc:830 +#: work.cc:821 work.cc:853 #, c-format +msgid "adding %s" +msgstr "lägger till %s" + +#: work.cc:837 +#, c-format msgid "renaming '%s' onto existing file: '%s'\n" msgstr "byter namn på '%s' till redan existerande fil: '%s'\n" #: work.cc:849 +#, fuzzy, c-format +msgid "renaming %s to %s" +msgstr "uppdaterar %s till %s" + +#: work.cc:865 #, c-format msgid "file '%s' does not exist" msgstr "filen '%s' finns inte" -#: work.cc:850 +#: work.cc:866 #, c-format msgid "file '%s' is a directory" msgstr "filen '%s' är en katalog" -#: work.cc:855 +#: work.cc:871 #, c-format msgid "content of file '%s' has changed, not overwriting" msgstr "innehållet i filen '%s' har ändrats, skriver inte över" -#: work.cc:856 +#: work.cc:872 #, c-format msgid "updating %s to %s" msgstr "uppdaterar %s till %s" +#~ msgid "" +#~ "wrote debugging log to %s\n" +#~ "if reporting a bug, please include this file" +#~ msgstr "" +#~ "skrev felsökningslogg till %s\n" +#~ "om du rapporterar ett fel, var god bifoga den filen" + #, fuzzy #~ msgid "adding %s to workspace delete set\n" #~ msgstr "lägger till %s i mängden borttagna filer i arbetskopian\n" ============================================================ --- testsuite.at 3f40181b4e040f5153c40ee6da60880f1cad3209 +++ testsuite.at 4d3066e6f5228aaa1c61ec4aabc29e3b30939908 @@ -761,3 +761,4 @@ m4_include(tests/t_db_kill_rev_locally_2.at) m4_include(tests/t_log_nofiles_merges.at) m4_include(tests/t_cvsimport_branch.at) +m4_include(tests/t_log_to_file.at) ============================================================ --- ui.cc f412b8a06dfed701085469c14e62e359369469cf +++ ui.cc 7bef43275fba7bdf4c2dc03ee191776dc2a57834 @@ -16,6 +16,7 @@ #include "constants.hh" #include +#include #include #include #include @@ -404,6 +405,16 @@ last_write_was_a_tick = false; } +void +user_interface::redirect_log_to(system_path const & filename) +{ + static ofstream filestr; + if (filestr.is_open()) + filestr.close(); + filestr.open(filename.as_external().c_str()); + clog.rdbuf(filestr.rdbuf()); +} + void user_interface::inform(string const & line) { ============================================================ --- ui.hh 496479433aee1e5ff51e96a22ae7cb662d71c4b8 +++ ui.hh 5a1e338407beeda0b373e5296d9106d4a6d9f35f @@ -91,6 +91,7 @@ void set_tick_trailer(std::string const & trailer); void set_tick_writer(tick_writer * t_writer); void ensure_clean_line(); + void redirect_log_to(system_path const & filename); private: std::set issued_warnings;