summaryrefslogtreecommitdiffstats
path: root/commands
diff options
context:
space:
mode:
authorAlexander Borsuk <me@alex.bio>2018-01-10 18:53:40 +0300
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-01-10 18:26:42 +0100
commit1921a70ab1a8761917bea8c74afaa790719fe958 (patch)
tree06a50bc2633ce329e5ddcff5fb03b514a9d4837d /commands
parentf0eecc6a4f541838e9930c98bc982546f65c7a4f (diff)
Revert "Remove the --cleanDestinationDir flag", there is a better fix.
Diffstat (limited to 'commands')
-rw-r--r--commands/hugo.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/commands/hugo.go b/commands/hugo.go
index 01afaaa4c..0e7b755f7 100644
--- a/commands/hugo.go
+++ b/commands/hugo.go
@@ -237,6 +237,7 @@ func initRootPersistentFlags() {
// initHugoBuildCommonFlags initialize common flags related to the Hugo build.
// Called by initHugoBuilderFlags.
func initHugoBuildCommonFlags(cmd *cobra.Command) {
+ cmd.Flags().Bool("cleanDestinationDir", false, "remove files from destination not found in static directories")
cmd.Flags().BoolP("buildDrafts", "D", false, "include content marked as draft")
cmd.Flags().BoolP("buildFuture", "F", false, "include content with publishdate in the future")
cmd.Flags().BoolP("buildExpired", "E", false, "include expired content")
@@ -483,6 +484,7 @@ func createLogger(cfg config.Provider) (*jww.Notepad, error) {
func (c *commandeer) initializeFlags(cmd *cobra.Command) {
persFlagKeys := []string{"debug", "verbose", "logFile"}
flagKeys := []string{
+ "cleanDestinationDir",
"buildDrafts",
"buildFuture",
"buildExpired",
@@ -722,6 +724,9 @@ func (c *commandeer) copyStaticTo(dirs *src.Dirs, publishDir string) (uint64, er
syncer.NoChmod = c.Cfg.GetBool("noChmod")
syncer.SrcFs = fs
syncer.DestFs = c.Fs.Destination
+ // Now that we are using a unionFs for the static directories
+ // We can effectively clean the publishDir on initial sync
+ syncer.Delete = c.Cfg.GetBool("cleanDestinationDir")
if syncer.Delete {
c.Logger.INFO.Println("removing all files from destination that don't exist in static dirs")