Subversion Repositories DevTools

Rev

Rev 1328 | Rev 1344 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1328 Rev 1341
Line 112... Line 112...
112
Error ("No labels provided") if ( $#ARGV < 0 && !$opt_list );
112
Error ("No labels provided") if ( $#ARGV < 0 && !$opt_list );
113
Error ("Too many labels provided") if ( $#ARGV > 0);
113
Error ("Too many labels provided") if ( $#ARGV > 0);
114
Error ("Conflicting options. Clone and Label") if ( $opt_clone && $opt_label );
114
Error ("Conflicting options. Clone and Label") if ( $opt_clone && $opt_label );
115
Error ("Conflicting options. Rename and Label") if ( $opt_rename && $opt_label );
115
Error ("Conflicting options. Rename and Label") if ( $opt_rename && $opt_label );
116
$label = $ARGV[0];
116
$label = $ARGV[0];
-
 
117
$label =~ s~^SVN::~~;
117
 
118
 
118
#
119
#
119
#   Locate package and workspace roots
120
#   Locate package and workspace roots
120
#
121
#
121
LocateRoots ();
122
LocateRoots ();
Line 274... Line 275...
274
    #
275
    #
275
    #   Create old and new paths for the full label
276
    #   Create old and new paths for the full label
276
    #
277
    #
277
    my $ws_label_old = make_src_label ($pkg_root, $label);
278
    my $ws_label_old = make_src_label ($pkg_root, $label);
278
    my $ws_label_new = make_label ($pkg_root ,SvnIsaSimpleLabel($opt_clone));
279
    my $ws_label_new = make_label ($pkg_root ,SvnIsaSimpleLabel($opt_clone));
-
 
280
    #
-
 
281
    #   Backtrack label so that we clone the tag source, not the tag
-
 
282
    #
-
 
283
    if ( $ws_label_old =~ m~/tags/~ )
-
 
284
    {
-
 
285
        $ws_label_old = $session->backTrackSvnLabel($label);
-
 
286
        Verbose2 ("Tag back tracked to: $ws_label_old");
-
 
287
        $ws_label_old = $pkg_root . '/' . $ws_label_old;
-
 
288
    }
-
 
289
 
279
    $session->SvnCopy (
290
    $session->SvnCopy (
280
                'old' => $ws_label_old,
291
                'old' => $ws_label_old,
281
                'new' => $ws_label_new,
292
                'new' => $ws_label_new,
282
                'comment' => $opt_comment ? $opt_comment : 'Copied by Jats Svnlabel',
293
                'comment' => $opt_comment ? $opt_comment : 'Copied by Jats Svnlabel Clone',
283
                'replace' => $opt_replace ? 1 : 0,
294
                'replace' => $opt_replace ? 1 : 0,
284
                );
295
                );
285
    
296
    
286
    Message ("Repository Ref: " . $session->RmRef);
297
    Message ("Repository Ref: " . $session->RmRef);
287
    updateProperties();
298
    updateProperties();
Line 313... Line 324...
313
#-------------------------------------------------------------------------------
324
#-------------------------------------------------------------------------------
314
# Function        : make_src_label
325
# Function        : make_src_label
315
#
326
#
316
# Description     : Create a source label ( tag or branch )
327
# Description     : Create a source label ( tag or branch )
317
#
328
#
318
#                   Calculation may be bypassed in the global $src_label
329
#                   Calculation may be bypassed if the global $src_label
319
#                   is specified.
330
#                   is specified.
320
#
331
#
321
# Inputs          : $base
332
# Inputs          : $base
322
#                   $name           - May contain hint
333
#                   $name           - May contain hint
323
#                                     Prefixed with 'tags/' or 'branches/'
334
#                                     Prefixed with 'tags/' or 'branches/'
Line 561... Line 572...
561
be taken to be that of the package in the workspace.
572
be taken to be that of the package in the workspace.
562
 
573
 
563
=item B<-branch>
574
=item B<-branch>
564
 
575
 
565
This option modifies all commands. It causes the labeling operations to be
576
This option modifies all commands. It causes the labeling operations to be
566
performed on a the packages 'branches' area instead of the default 'tags'
577
performed on a packages 'branches' area instead of the default 'tags'
567
area.
578
area.
568
 
579
 
569
=item -author=name
580
=item -author=name
570
 
581
 
571
This option will force the author of changes as recorded in the repository.
582
This option will force the author of changes as recorded in the repository.