⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msvsshistory.java

📁 ant源代码
💻 JAVA
字号:
/* *  Licensed to the Apache Software Foundation (ASF) under one or more *  contributor license agreements.  See the NOTICE file distributed with *  this work for additional information regarding copyright ownership. *  The ASF licenses this file to You under the Apache License, Version 2.0 *  (the "License"); you may not use this file except in compliance with *  the License.  You may obtain a copy of the License at * *      http://www.apache.org/licenses/LICENSE-2.0 * *  Unless required by applicable law or agreed to in writing, software *  distributed under the License is distributed on an "AS IS" BASIS, *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *  See the License for the specific language governing permissions and *  limitations under the License. * */package org.apache.tools.ant.taskdefs.optional.vss;import java.io.File;import java.text.SimpleDateFormat;import org.apache.tools.ant.BuildException;import org.apache.tools.ant.types.Commandline;import org.apache.tools.ant.types.EnumeratedAttribute;/** * Performs History commands to Microsoft Visual SourceSafe. * * @ant.task name="vsshistory" category="scm" */public class MSVSSHISTORY extends MSVSS {    /**     * Builds a command line to execute ss.     * @return     The constructed commandline.     */    Commandline buildCmdLine() {        Commandline commandLine = new Commandline();        // first off, make sure that we've got a command and a vssdir and a label ...        if (getVsspath() == null) {            String msg = "vsspath attribute must be set!";            throw new BuildException(msg, getLocation());        }        // build the command line from what we got the format is        // ss History elements [-H] [-L] [-N] [-O] [-V] [-Y] [-#] [-?]        // as specified in the SS.EXE help        commandLine.setExecutable(getSSCommand());        commandLine.createArgument().setValue(COMMAND_HISTORY);        // VSS items        commandLine.createArgument().setValue(getVsspath());        // -I-        commandLine.createArgument().setValue(FLAG_AUTORESPONSE_DEF);  // ignore all errors        // -Vd        commandLine.createArgument().setValue(getVersionDate());        // -VL        commandLine.createArgument().setValue(getVersionLabel());        // -R        commandLine.createArgument().setValue(getRecursive());        // -B / -D / -F-        commandLine.createArgument().setValue(getStyle());        // -Y        commandLine.createArgument().setValue(getLogin());        // -O        commandLine.createArgument().setValue(getOutput());        return commandLine;    }    /**     * Retrieve history recursively. Defaults to false.     *     * @param recursive  The boolean value for recursive.     */    public void setRecursive(boolean recursive) {        super.setInternalRecursive(recursive);    }    /**     * Name of the user whose change history is generated.     *     * @param   user The username.     */    public void setUser(String user) {        super.setInternalUser(user);    }    /**     * Date representing the 'start' of the range.     *     * @param   fromDate    The start date.     */    public void setFromDate(String fromDate) {        super.setInternalFromDate(fromDate);    }    /**     * Date representing the 'end' of the range.     *     * @param   toDate    The end date.     */    public void setToDate(String toDate) {        super.setInternalToDate(toDate);    }    /**     * Label representing the 'start' of the range.     *     * @param   fromLabel    The start label.     */    public void setFromLabel(String fromLabel) {        super.setInternalFromLabel(fromLabel);    }    /**     * Label representing the 'end' of the range.     *     * @param   toLabel    The end label.     */    public void setToLabel(String toLabel) {        super.setInternalToLabel(toLabel);    }    /**     * Number of days for comparison.     * Defaults to 2 days.     *     * @param   numd    The number of days.     */    public void setNumdays(int numd) {        super.setInternalNumDays(numd);    }    /**     * Output file name for the history.     *     * @param   outfile The output file name.     */    public void setOutput(File outfile) {        if (outfile != null) {            super.setInternalOutputFilename(outfile.getAbsolutePath());        }    }    /**     * Format of dates in <code>fromDate</code and <code>toDate</code>.     * Used when calculating dates with the numdays attribute.     * This string uses the formatting rules of <code>SimpleDateFormat</code>.     * Defaults to <code>DateFormat.SHORT</code>.     *     * @param   dateFormat  The date format.     */    public void setDateFormat(String dateFormat) {        super.setInternalDateFormat(new SimpleDateFormat(dateFormat));    }   /**     * Output style. Valid options are:     * <ul>     * <li>brief:    -B Display a brief history.     * <li>codediff: -D Display line-by-line file changes.     * <li>nofile:   -F- Do not display individual file updates in the project history.     * <li>default:  No option specified. Display in Source Safe's default format.     * </ul>     *     * @param attr The history style:     */    public void setStyle(BriefCodediffNofile attr) {        String option = attr.getValue();        if (option.equals(STYLE_BRIEF)) {            super.setInternalStyle(FLAG_BRIEF);        } else if (option.equals(STYLE_CODEDIFF)) {            super.setInternalStyle(FLAG_CODEDIFF);        } else if (option.equals(STYLE_DEFAULT)) {            super.setInternalStyle("");        } else if (option.equals(STYLE_NOFILE)) {            super.setInternalStyle(FLAG_NO_FILE);        } else {            throw new BuildException("Style " + attr + " unknown.", getLocation());        }    }    /**     * Extention of EnumeratedAttribute to hold the values for style.     */    public static class BriefCodediffNofile extends EnumeratedAttribute {        /**         * Gets the list of allowable values.         * @return The values.         */        public String[] getValues() {            return new String[] {STYLE_BRIEF, STYLE_CODEDIFF, STYLE_NOFILE, STYLE_DEFAULT};        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -